我的编程空间,编程开发者的网络收藏夹
学习永远不晚

http RequestConfig配置类中各参数的意思

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

http RequestConfig配置类中各参数的意思

RequestConfig类是Apache HttpClient中的一个配置类,用于设置HTTP请求的配置参数。下面是RequestConfig中各参数的详细解释和代码示例:

connectTimeout:连接超时时间,即连接建立的最长时间,超过此时间则抛出ConnectTimeoutException异常。默认值为0,表示无限等待。
示例代码:

RequestConfig requestConfig = RequestConfig.custom()        .setConnectTimeout(5000) // 连接超时时间为5秒        .build();

这里的连接指的是建立TCP连接的时间,在HTTP请求中,需要先建立TCP连接才能进行数据传输。如果连接建立的时间超过了设置的连接超时时间,就会抛出ConnectTimeoutException异常。
下面是一个简单的示例代码,其中使用HttpClient发送一个HTTP GET请求,并设置连接超时时间为5秒:

CloseableHttpClient httpClient = HttpClients.createDefault();HttpGet httpGet = new HttpGet("http://www.example.com");RequestConfig requestConfig = RequestConfig.custom()        .setConnectTimeout(5000) // 设置连接超时时间为5秒        .build();httpGet.setConfig(requestConfig);CloseableHttpResponse response = httpClient.execute(httpGet);

在上面的代码中,创建了一个默认的CloseableHttpClient对象httpClient,并使用HttpGet构造方法创建一个HTTP GET请求对象httpGet,然后使用RequestConfig设置连接超时时间为5秒,并将其设置到httpGet对象中,最后使用httpClient执行httpGet请求并获取响应结果。如果连接超时时间超过了5秒,就会抛出ConnectTimeoutException异常。

socketTimeout:读取超时时间,即从服务器获取响应数据的最长时间,超过此时间则抛出SocketTimeoutException异常。默认值为0,表示无限等待。
示例代码:

RequestConfig requestConfig = RequestConfig.custom()        .setSocketTimeout(5000) // 读取超时时间为5秒        .build();

connectionRequestTimeout:从连接池中获取连接的超时时间,超过此时间则抛出ConnectionPoolTimeoutException异常。默认值为0,表示无限等待。
示例代码:

RequestConfig requestConfig = RequestConfig.custom()        .setConnectionRequestTimeout(5000) // 从连接池中获取连接的超时时间为5秒        .build();

这个参数指的是从连接池中获取连接的超时时间,在使用Apache HttpClient连接池时,如果连接池中没有可用的连接,就需要等待一段时间来获取连接。如果等待的时间超过了设置的连接请求超时时间,就会抛出ConnectionPoolTimeoutException异常。
下面是一个简单的示例代码,其中使用Apache HttpClient连接池发送一个HTTP GET请求,并设置连接请求超时时间为5秒:

CloseableHttpClient httpClient = HttpClients.custom()        .setMaxConnTotal(10) // 设置连接池中最大连接数为10        .setMaxConnPerRoute(5) // 设置每个路由的最大连接数为5        .build();HttpGet httpGet = new HttpGet("http://www.example.com");RequestConfig requestConfig = RequestConfig.custom()        .setConnectionRequestTimeout(5000) // 设置连接请求超时时间为5秒        .build();httpGet.setConfig(requestConfig);CloseableHttpResponse response = httpClient.execute(httpGet);

在上面的代码中,使用HttpClients.custom()方法创建一个自定义的CloseableHttpClient对象httpClient,并使用setMaxConnTotal()方法和setMaxConnPerRoute()方法设置连接池中的最大连接数和每个路由的最大连接数。然后使用HttpGet构造方法创建一个HTTP GET请求对象httpGet,再使用RequestConfig设置连接请求超时时间为5秒,并将其设置到httpGet对象中。最后使用httpClient执行httpGet请求并获取响应结果。如果连接池中没有可用的连接,并且等待的时间超过了5秒,就会抛出ConnectionPoolTimeoutException异常。

proxy:设置代理服务器地址和端口号。
示例代码:

HttpHost proxy = new HttpHost("127.0.0.1", 8080);RequestConfig requestConfig = RequestConfig.custom()        .setProxy(proxy) // 设置代理服务器地址和端口号        .build();

staleConnectionCheckEnabled:是否检查旧连接是否可用。默认为false,即不检查。
示例代码:

RequestConfig requestConfig = RequestConfig.custom()        .setStaleConnectionCheckEnabled(true) // 检查旧连接是否可用        .build();

redirectsEnabled:是否自动重定向。默认为true,即自动重定向。
示例代码:

RequestConfig requestConfig = RequestConfig.custom()        .setRedirectsEnabled(false) // 不自动重定向        .build();

relativeRedirectsAllowed:是否允许相对路径重定向。默认为true,即允许。
示例代码:

RequestConfig requestConfig = RequestConfig.custom()        .setRelativeRedirectsAllowed(false) // 不允许相对路径重定向        .build();

maxRedirects:最大重定向次数。默认为50。
示例代码:

RequestConfig requestConfig = RequestConfig.custom()        .setMaxRedirects(5) // 最大重定向次数为5        .build();

cookieSpec:Cookie策略。默认为CookieSpecs.DEFAULT。
示例代码:

RequestConfig requestConfig = RequestConfig.custom()        .setCookieSpec(CookieSpecs.STANDARD) // Cookie策略为标准策略        .build();

contentCompressionEnabled:是否启用内容压缩。默认为true,即启用。
示例代码:

RequestConfig requestConfig = RequestConfig.custom()        .setContentCompressionEnabled(false) // 不启用内容压缩        .build();

通过设置RequestConfig中的这些参数,可以对HTTP请求的连接、读取、代理、重定向、Cookie等进行配置和控制,以便满足不同的业务需求。

来源地址:https://blog.csdn.net/weixin_44060488/article/details/130220201

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

http RequestConfig配置类中各参数的意思

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Oracle数据库中RMAN默认配置参数代表什么意思

RMAN> show all; db_unique_name 为 ORCL11G64B 的数据库的 RMAN 配置参数为: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default CONFIGURE BACK
Oracle数据库中RMAN默认配置参数代表什么意思
2021-09-21

编程热搜

目录