Java的API调用

在页面抓取前,我们在.xml文件中安装库

依赖库安装
<dependency>
 <groupId>com.squareup.okhttp3</groupId>
 <artifactId>okhttp</artifactId>
 <version>4.1.0</version>
</dependency>

以此安装了okhttp3来实现API的抓取

其次就是代码本体:

我们需要的是API的调用

 import java.io.IOException;
 import okhttp3.Call;
 import okhttp3.OkHttpClient;
 import okhttp3.Request;
API调用
public class GetPage {

  /**
   * 根据输入的url,读取页面内容并返回
   */
  public String getContent(String url) {
    // okHttpClient 实例
    OkHttpClient okHttpClient = new OkHttpClient();
    // 定义一个request
    Request request = new Request.Builder().url(url).build();
    // 使用client去请求
    Call call = okHttpClient.newCall(request);
    // 返回结果字符串
    String result = null;
    try {
      // 获得返回结果
      result = call.execute().body().string();
    } catch (IOException e) {
      // 抓取异常
      System.out.println("request " + url + " error . ");
      e.printStackTrace();
    }
    return result;
  }

  public static void main(String[] args) {
    GetPage getPage = new GetPage();
    String url = "https://www.ustc.edu.cn/";
    String content = getPage.getContent(url);
  
    System.out.println("call " + url + " , content=" + content);
  }
}

使用 Okhttp3 完成页面请求,需要三大步骤:

  1. 实例化 OkHttpClient。使用 OkHttpClient okHttpClient = new OkHttpClient(); 代码。
  2. 执行调用。
    1. 在执行调用之前,需要实例化一个 Request 对象,作用是定义请求的各种参数,Request request = new Request.Builder().url(url).build();
    2. 然后构建调用对象 Call call = okHttpClient.newCall(request);
    3. 最后执行调用,如果调用失败可能抛异常,所以必须抓取异常。call.execute() 就是执行调用的代码。
  3. call.execute() 返回的其实是一个执行的结果对象,调用对象的方法即可获取返回的字符串内容:call.execute().body().string();