Java OKHttp简单使用
OKHttp是一个三方Java接口请求库。
添加Maven依赖
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.0.0</version>
</dependency>
发送请求
发送Get请求-带请求头
public void testOkHttpGet() throws IOException {
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://postman-echo.com/get?a=1&b=2")
.addHeader("token", "test")
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
}
发送Post表单请求
public void testOkHttpPostForm() throws IOException {
OkHttpClient client = new OkHttpClient();
// 构造form格式请求数据
RequestBody formBody = new FormBody.Builder()
.add("a", "1")
.add("b", "2")
.build();
Request request = new Request.Builder()
.url("https://postman-echo.com/post")
.addHeader("token", "test")
.post(formBody)
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
}
发送Put-Json请求
public void testOkHttpPutJson() throws IOException {
OkHttpClient client = new OkHttpClient();
String jsonString = "{\"a\": 1, \"b\": 2}";
RequestBody jsonBody = RequestBody.create(jsonString,
MediaType.parse("application/json; charset=utf-8"));
Request request = new Request.Builder()
.url("https://postman-echo.com/put")
.addHeader("token", "test")
.put(jsonBody)
.build();
Response response = client.newCall(request).execute();
if (response.isSuccessful() && response.body() != null) {
System.out.println("Response Status Code: " + response.code());
System.out.println("Response Body: " + response.body().string());
}
}
响应
response.code()
:状态码response.isSuccessful()
:响应是否成功response.body()
:响应体,可以通过.string()
转文本
响应判断和输出
if (response.isSuccessful() && response.body() != null) {
System.out.println("Response Status Code: " + response.code());
System.out.println("Response Body: " + response.body().string());
}