okhttp3怎么设置代理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了okhttp3怎么设置代理相关的知识,希望对你有一定的参考价值。
okhttp3 复用okhttpclient配置所有HTTP请求的代理设置,超时,缓存设置等都需要在OkHttpClient中设置。如果需要更改一个请求的配置,可以使用OkHttpClient.newBuilder()获取一个builder对象,该builder对象与原来OkHttpClient共享相同的连接池,配置等。
如下示例,拷贝2个'OkHttpClient的配置,然后分别设置不同的超时时间;
private final OkHttpClient client = new OkHttpClient();
public void run() throws Exception
Request request = new Request.Builder()
.url("http://httpbin.org/delay/1") // This URL is served with a 1 second delay.
.build();
try
// Copy to customize OkHttp for this request.
OkHttpClient copy = client.newBuilder()
.readTimeout(500, TimeUnit.MILLISECONDS)
.build();
Response response = copy.newCall(request).execute();
System.out.println("Response 1 succeeded: " + response);
catch (IOException e)
System.out.println("Response 1 failed: " + e);
try
// Copy to customize OkHttp for this request.
OkHttpClient copy = client.newBuilder()
.readTimeout(3000, TimeUnit.MILLISECONDS)
.build();
Response response = copy.newCall(request).execute();
System.out.println("Response 2 succeeded: " + response);
catch (IOException e)
System.out.println("Response 2 failed: " + e);
参考技术A OkHttp 是一个在开发可汗学院android APP过程中非常重要的依赖库。它的默认的配置为我们提供了非常重要实用功能,下面一些步骤我们可以让Okhttp提供更多功能使用灵活和内省能力。
默认情况下,Okhttp不支持响应缓存,包括HTTP Cache-Control头允许缓存响应。因此,客户端通过一次又一次的请求相同的资源浪费时间和带宽。而不是简单地读取初始响应后缓存的副本。
要在文件系统中启用响应缓存,需要配置com.squareup.okhttp.Cache实例,并把它传递给你的OkHttpClient实例的setCache方法。你必须初始化缓存与存放目录的文件,并以字节为单位的最大值。
响应返回数据可以写入给定目录文件,如果一个响应的缓存超过了给定的大小。我们可以采取 LRU policy 。本回答被提问者采纳 参考技术B 凉州词(王翰)
以上是关于okhttp3怎么设置代理的主要内容,如果未能解决你的问题,请参考以下文章