如何为 OkHttpClient 设置连接超时? 2017年
How can I set connection timeout for OkHttpClient? 2017
很容易说它是重复的,但事实并非如此。
我读了很多 post 关于如何在 android
中设置连接超时的内容,但是 post 已经有 4-7 年的历史了,我认为我们都需要对此进行更新主题,因为这些方法已弃用或不再存在。
所以问题是在等待服务器响应时如何设置连接超时?
final Response response = httpClient.newCall(request).execute();
if (response.isSuccessful()) {
//success
} else {
//unsuccessful
}
如果您通过 OkHttpClient.Builder
创建 OkHttpClient
,您可以调用各种超时选项的 there are connectTimeout()
, readTimeout()
, and writeTimeout()
methods。
如果您需要为特定的 HTTP 请求覆盖它们,请在您的 OkHttpClient
上调用 newBuilder()
。这会为您提供一个 OkHttpClient.Builder
,其设置与您最初使用的设置相同。 You can override those as needed,并从新 Builder
创建一个临时 OkHttpClient
,将其用于此一次性调用。
很容易说它是重复的,但事实并非如此。
我读了很多 post 关于如何在 android
中设置连接超时的内容,但是 post 已经有 4-7 年的历史了,我认为我们都需要对此进行更新主题,因为这些方法已弃用或不再存在。
所以问题是在等待服务器响应时如何设置连接超时?
final Response response = httpClient.newCall(request).execute();
if (response.isSuccessful()) {
//success
} else {
//unsuccessful
}
如果您通过 OkHttpClient.Builder
创建 OkHttpClient
,您可以调用各种超时选项的 there are connectTimeout()
, readTimeout()
, and writeTimeout()
methods。
如果您需要为特定的 HTTP 请求覆盖它们,请在您的 OkHttpClient
上调用 newBuilder()
。这会为您提供一个 OkHttpClient.Builder
,其设置与您最初使用的设置相同。 You can override those as needed,并从新 Builder
创建一个临时 OkHttpClient
,将其用于此一次性调用。