http://域名:端口/path?参数a=1&b=2(www.baidu.com:80/path?)
输入输出封装
JAVA应用全景
http
1:JAVA原生
2:apache http client
3:自己封装 apache
4:okhttp
package com.douyin.w3.query;
import com.alibaba.fastjson.JSON;
import com.douyin.client.HttpClient.HttpResult;
import com.douyin.client.common.JsonResult;
import okhttp3.*;
import java.io.IOException;
import java.util.concurrent.TimeUnit;
/**
- okhttp实现
-
*/
public class OkHttpUtils {
public static void main(String[] args) {
String url = “https://blog.csdn.net/walilie77/article/details/86767331”;
for (int i = 0; i < 10000; i++) {
JsonResult jsonResult = getUrl(url);
System.out.println(jsonResult);
System.out.println("#####################"+i);
}
}
static OkHttpClient okHttpClient = null;
static {
ConnectionPool pool = new ConnectionPool(
5, 10, TimeUnit.MINUTES);
okHttpClient = new OkHttpClient.Builder()
// .connectTimeout(CONN_TIMEOUT__SECOND, TimeUnit.SECONDS)
.connectTimeout(3, TimeUnit.MINUTES)
.readTimeout(300, TimeUnit.SECONDS)
.connectionPool(pool)
.build();
}
public static JsonResult getUrl(String url) {
Request request = new Request.Builder()
.url(url)
.method(“GET”, null)//POST.
.build();
HttpResult httpResult = null;
try {
Response response = okHttpClient
.newCall(request).execute();
ResponseBody responseBody = response.body();
String body = new String(responseBody.bytes());
httpResult = new HttpResult(response.code(), body, null);
} catch (IOException e) {
throw new RuntimeException(e);
}
if (httpResult.code != 200) {
throw new RuntimeException(“postman httpResult.code!=200! msg:” + httpResult.content);
}
String json = httpResult.content;
JsonResult result = null;
try {
result = JSON.parseObject(json, JsonResult.class);
} catch (Exception e) {
result = new JsonResult();
result.setCode(500);
result.setMessage(“JSON.parseObject is error”);
result.setSuccess(false);
result.setData(json);
}
return result;
}
}