public void testOkhttp() {
String url = "请求的地址";
OkHttpClient.Builder builder = new OkHttpClient.Builder();
//设置连接超时时间
builder.connectTimeout(1, TimeUnit.MINUTES);
//设置代理,需要替换
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("35.235.75.244", 3128));
builder.proxy(proxy);
OkHttpClient httpClient = builder.build();
MediaType parse = MediaType.parse("application/json");
RequestBody body = RequestBody.create(parse, this.getBody().toString());
Request request = new Request.Builder().url(url).post(body)
.addHeader("Content-type", "application/json; charset=utf-8")
.addHeader("Referer", 需要的url)
.addHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.87 Safari/537.36")
.build();
try (Response response = httpClient.newCall(request).execute()) {
System.out.println("输出"+response.body().string());
}catch (Exception e){
e.printStackTrace();
}
}
直接上代码了,之前用了传统的httpClient实现不了,换了okHttp解决了。
maven仓库地址:
<dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>3.8.0</version> <scope>test</scope> </dependency>