当前位置: 首页 > news >正文

温州做网站哪家好建设行业网站价格

温州做网站哪家好,建设行业网站价格,上海网站制作 优化,手机网站规划😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD 如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。 😊 座右铭:不…

😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD
如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。
😊 座右铭:不想当开发的测试,不是一个好测试✌️。
如果感觉博主的文章还不错的话,还请点赞、收藏哦!👍

请求超时配置

在 OkhttpClient 中有默认的一些配置,比如连接池、超时时间、写入时间、读取时间等。我们可以通过查看OkhttpClient源码得知。
在这里插入图片描述
默认配置如下:

  • 连接超时时间:默认为10秒
  • 写入超时时间:默认为10秒
  • 读取超时时间:默认为10秒
  • Follow Redirects(重定向):默认为 true,即会自动遵循重定向
  • 连接池大小:默认为5个
  • 重试次数:默认为0,即 不会自动重试请求。
    但是默认配置不能满足日常需要,如何进行自定义呢,可使用 OkHttpClient.Builder() 来定制化配置。具体如下:
ConnectionPool connectionPool = new ConnectionPool(5,5, TimeUnit.MINUTES);
OkHttpClient client = new OkHttpClient.Builder().connectTimeout(30, TimeUnit.SECONDS) //连接超时时间.writeTimeout(30,TimeUnit.SECONDS) //设置写入超时时间.readTimeout(30,TimeUnit.SECONDS).followRedirects(false) //禁用重定向.connectionPool(connectionPool).build();

使用 OkHttpClient.Builder() 构建 OkHttpClient 对象,并且可以通过调用 builder 的方法来配置 OkHttpClient。
上述我们还定制化了连接池,

// 创建一个连接池,最大空闲连接数为5,每个连接最大保持时间为5分钟
ConnectionPool connectionPool = new ConnectionPool(5,5, TimeUnit.MINUTES);

在这里插入图片描述

  • maxIdleConnections:最大空闲连接数。
  • keepAliveDuration:连接保持时间。

OkHttp 会自动管理连接池中的连接,根据需要重用已经存在的连接或创建新的连接。连接池会根据连接的空闲时间来关闭不再需要的连接,以节省资源。

重连机制

在 Okhttp 中不直接提供内置的重连机制,可以通过自定义Interceptor 来实现请求失败时的重试逻辑,这块涉及到拦截器的应用,具体使用如下:

package com.qiniu.interceptortest;
import androidx.annotation.NonNull;
import org.jetbrains.annotations.NotNull;
import java.io.IOException;
import okhttp3.*;public class ReConnectionTest {public static void main(String[] args) {OkHttpClient client = new OkHttpClient.Builder().addInterceptor(new RetryInterceptor(3)).build();//创建请求Request request = new Request.Builder().url("http://www.baidu.com").build();// 使用 OkHttpClient 实例来发送请求,并处理响应。client.newCall(request).enqueue(new Callback() {@Overridepublic void onFailure(@NotNull Call call, @NotNull IOException e) {System.out.println("Request failed: " + e.getMessage());}@Overridepublic void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {// 处理响应数据if (response.isSuccessful()) {String responseData = response.body().string();System.out.println(responseData);// 处理响应数据} else {// 处理失败响应}}});}static class RetryInterceptor implements Interceptor{private int maxRetries;private int retryCount = 0;public RetryInterceptor(int maxRetries) {this.maxRetries = maxRetries;}@NonNull@Overridepublic Response intercept(@NonNull Chain chain) throws IOException {Request request = chain.request();Response response = chain.proceed(request);while (!response.isSuccessful() && retryCount < maxRetries){retryCount++;response = chain.proceed(request);}return response;}}
}

通过拦截器来实现重连机制,拦截器用于在发送请求和接收响应的过程中拦截、修改和处理请求和响应数据。拦截器允许开发人员在网络请求的不同阶段介入,并对请求和响应进行各种操作,如修改请求头、记录日志、重试请求、添加认证信息等。

人生像一部电影,有些人就像弹出来的广告

http://www.yayakq.cn/news/122777/

相关文章:

  • 哪个公司做网站比较好福州市高速公路建设指挥部网站
  • 公司网站建设分录微信小程序开发编辑器
  • 怎么样推销自己网站各大网站大全
  • 那个网站可以做考卷陕西省建设厅管理中心网站
  • 武夷山网站建设qqpc版登录
  • 北京做网站建设多少钱php面试题
  • 免费logo设计网站推荐wordpress怎么保存图片
  • 贵州建设厅网站八大员报名入口建设自己的网站有钱赚么
  • 微信小程序与微网站wordpress add to cart 不用ajax
  • 网站建设策划书格式及范文网站如何做微信支付链接
  • 免费建立自己的网站代理电子商务营销与传统营销的区别
  • 九洲建设集团网站做个手机网站多少钱 广州
  • 网站开发哪家强个人网站设计分类
  • 色彩搭配比较好的网站关键词排名优化免费
  • 淘宝做详情页的网站高端网站建设那公司好
  • 郑州做网站好的公长沙网站排名技巧
  • 专业定制网站建设团队国外高清视频素材网站推荐
  • 企业网站宣传视频外链萝岗网站建设
  • 建筑行业招聘网站推荐模板免费网站建设
  • 设立网站 费用易点网络科技有限公司
  • 欧美网站设计风格焦作网络推广哪家好
  • 长春网站建设招代理做销售找客户的网站
  • 如何帮网站网站怎么做备案变更
  • 建行个人余额查询网站合肥企业快速建站
  • 企业网站 域名注册中信建设有限责任公司领导班子
  • 中文域名 怎么做网站溧阳手机网站设计
  • 济南网站建设公司哪家好贵阳观山湖区网站建设
  • 成都网站seo收费标准可以免费学编程的网站
  • 建筑网站设计大全全网营销思路
  • 旅游电子商务的三创赛网站建设个人网站域名选择