- , 4 2月 2021
- 作者 847954981@qq.com
- 后端学习
Java的API调用
在页面抓取前,我们在.xml文件中安装库
代码语言:javascript复制依赖库安装
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.1.0</version>
</dependency>
以此安装了okhttp3来实现API的抓取
其次就是代码本体:
我们需要的是API的调用
代码语言:javascript复制 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
完成页面请求,需要三大步骤:
- 实例化
OkHttpClient
。使用OkHttpClient okHttpClient = new OkHttpClient();
代码。 - 执行调用。
- 在执行调用之前,需要实例化一个
Request
对象,作用是定义请求的各种参数,Request request = new Request.Builder().url(url).build();
- 然后构建调用对象
Call call = okHttpClient.newCall(request);
- 最后执行调用,如果调用失败可能抛异常,所以必须抓取异常。
call.execute()
就是执行调用的代码。
- 在执行调用之前,需要实例化一个
call.execute()
返回的其实是一个执行的结果对象,调用对象的方法即可获取返回的字符串内容:call.execute().body().string();