Httpclient-简介
OkidoGreen
这个作者很懒,什么都没留下…
展开
-
HttpClient中 RetryHandler的理解与使用
很明显,这个异常是 InterruptedIOException 的子类,也就是默认的 retryHandler中忽略重试的 类型,所以默认情况下,超时类的异常不会触发重试逻辑,大家可以通过重写retryHandler来使其生效。使用httpClient的过程中,如果没有设置自定义的 retryHandler,系统会使用默认的。可以看到,直接return false,不尝试触发重试逻辑;这时候我们去看 3个超时配置 对应的异常,原创 2022-08-23 15:51:44 · 737 阅读 · 0 评论 -
httpclient的两个重要的参数maxPerRoute及MaxTotal
httpclient封装了java中进行http网络请求的底层实现,是一个被广泛使用的组件。httpclient是支持池化机制的,这两个参数就是表示池化设置的。服务之间发送http请求常用的有Apache的Fluent以及spring的restTemplate等Apache的Fluent,以及spring的restTemplate都是对httpclient进行了封装以Apache的Fluent为例说明其Executor类 /*** An Executor for fluent.转载 2021-01-15 13:35:42 · 2812 阅读 · 0 评论 -
RestTemplate + HttpClient 调用Https 接口
配置项: //设置整个连接池最大连接数 根据自己的场景决定 private int maxTotal; //路由是对maxTotal的细分 private int defaultMaxPerRoute; //服务器返回数据(response)的时间,超过该时间抛出read timeout private int socketTimeout; //连接上服务器(握手成功)的时间,超出该时间抛出connect timeout privat原创 2021-01-05 14:00:03 · 328 阅读 · 0 评论 -
HttpClient4.X 解决POST请求返回重定向问题
做如下设置:ClientConnectionManager cm = new PoolingClientConnectionManager(); DefaultHttpClient client = new DefaultHttpClient(cm); client.setRedirectStrategy(new DefaultRedirectStrateg...转载 2020-03-13 22:08:54 · 993 阅读 · 0 评论 -
Apache HttpClient(各版本) POST 请求302问题解决!
问题背景:POST请求返回302,导致获取不了数据。HttpClient instance = HttpClientBuilder.create().build(); HttpResponse response = instance.execute(new HttpPost("http://t.co/I5YYd9tddw")); assertThat(response....转载 2020-03-13 22:07:19 · 1565 阅读 · 0 评论 -
HttpClient如何获取302响应中的Location跳转头信息及如何获取302跳转后的页面信息
public static String getLocationUrl(String url) { RequestConfig config = RequestConfig.custom().setConnectTimeout(50000).setConnectionRequestTimeout(10000).setSocketTimeout(50000) ....原创 2020-02-14 16:28:55 · 5418 阅读 · 0 评论 -
apache的HttpClient的默认重试机制
maven dependency> groupId>org.apache.httpcomponentsgroupId> artifactId>httpclientartifactId> version>4.5.2version> dependency>异常重试log2017-01-转载 2018-01-09 14:14:46 · 9475 阅读 · 0 评论 -
Java HttpClient中的三种超时设置区别
最近项目中在使用HttpClient有三个超时(connectionRequestTimeout,connectTimeout,socketTimeout)时间理解得不是很透彻,API文档不是很理解,专门写Demo理解了一下。API的描述如下:/** * Returns the timeout in milliseconds used when requesting a co转载 2017-09-20 13:07:48 · 25482 阅读 · 2 评论 -
HttpClient MultipartEntityBuilder 上传文件
http://blog.csdn.net/yan8024/article/details/46531901http://www.51testing.com/html/56/n-3707756.html 在HttpCient4.3之后上传文件主要使用的类是位于org.apache.http.entity.mime下的MultipartEntityBuilder(原先的Mu转载 2017-11-23 16:45:13 · 15985 阅读 · 1 评论 -
apache的MultipartEntityBuilder文件上传
https://www.cnblogs.com/dennyzhangdd/p/6808321.html本文讲解多文件上传方法,不比较上传有几种方法和效率,而是定向分析apache的httpmime包的MultipartEntityBuilder类,源码包:httpmime-4.5.2.jar目录1.多文件上传常用用法2.注意点=======正文分转载 2017-11-23 17:34:01 · 24953 阅读 · 0 评论 -
Http请求-使用cookie注入登录态访问
@Test public void lotteryTest() throws InterruptedException { String locOrigin = "http://event.51ping.com"; //测试 String drawLotteryUrl = locOrigin + "/emidas/lottery/siteweb/ajax/d原创 2017-11-25 00:10:25 · 4783 阅读 · 0 评论 -
httpclient4.5获取和设置cookie
public static void main(String[] args) { CookieStore cookieStore = new BasicCookieStore(); CloseableHttpClient httpClient = HttpClients.custom() .setDefaultCookieStore(cookieStore)转载 2017-11-25 00:12:55 · 19497 阅读 · 2 评论 -
HttpClient-RetryHandler重试
目前的项目接口都是http,因此在java项目中使用apache httpclient进行数据传输、访问。目前程序中涉及到需要callback操作,product需要被动的接收consume的处理状态,为了最大程度的能够callback成功因此consume在http调用出现问题(如:服务不可用、异常、超时)情况下需要进行重试(retry request),在这里我列举出我找到的ret转载 2017-09-20 12:59:26 · 4794 阅读 · 2 评论 -
HttpClient 4.5.2版本设置连接超时时间-CloseableHttpClient设置Timeout
HttpClient 4.5版本设置连接超时时间-CloseableHttpClient设置Timeout(区别于4.3.2)HttpClient升级到4.5版本后,API有很多变化,HttpClient 4之后,API一直没有太稳定,我感觉4.5版本抽象后,很多API应该快稳定了。 使用HttpClient,一般都需要设置连接超时时间和获取数据超时时间。这原创 2017-09-11 10:20:44 · 1624 阅读 · 0 评论 -
HttpClient BA认证 basic auth 实例
httpclient 4.5httpcore 4.4.1jackson 2.4.4 private static final ObjectMapper objectMapper; static { objectMapper = new ObjectMapper(); //去掉默认的时间戳格式 objectMappe原创 2017-07-24 11:40:21 · 3355 阅读 · 0 评论 -
apache HttpClient 学习系列--2 之HttpContext
摘要: 本文主要讲解HttpContext的使用首先是一个Servlet用于本次试验。package com.lu.controller;import java.io.IOException;import java.io.OutputStream;import java.io.PrintWriter;import javax.servlet.ServletExcepti转载 2017-04-26 17:24:45 · 4361 阅读 · 0 评论 -
模拟登陆CSDN——就是这么简单
工具介绍本篇文章主要是讲解如何模拟登陆CSDN,使用的工具是HttpClient+Jsoup其中HttpClient主要是负责发送请求,而Jsoup主要是解析HTML你可能对HttpClient的API不太了解,不过没关系,往下看就好了~Jsoup的语法类似jQuery的选择器,相信有一定web基础的人都可以很快的掌握其中select(Strin转载 2017-04-26 14:16:54 · 1329 阅读 · 0 评论 -
HttpClient通过Post方式发送Json数据
服务器用的是Springmvc,接口内容:[java]view plaincopyprint?@ResponseBody@RequestMapping(value="/order",method=RequestMethod.POST)publicbooleanorder(HttpServletRequestrequ原创 2017-05-26 21:45:48 · 9313 阅读 · 0 评论 -
spring mvc @RequestBody接受post json对象
jq ajax通过post json对象遇到的HTTP 415/400问题错误解决方案:http://www.linuxidc.com/Linux/2014-04/99928.htm客户端:?1234567891011121314转载 2016-04-06 10:59:28 · 16958 阅读 · 0 评论 -
微信公众号开发- 网页授权Oauth2.0及API开发
HttpClientUtil:package xxxx;import org.apache.http.Consts;import org.apache.http.HttpEntity;import org.apache.http.NameValuePair;import org.apache.http.ParseExcepti原创 2016-02-16 15:11:05 · 5840 阅读 · 1 评论 -
HttpAsync试用
pom: 4.54.1 org.projectlombok lombok ${lombok.version} org.apache.httpcomponents httpasyncclient转载 2016-11-21 17:29:48 · 1345 阅读 · 0 评论 -
HttpClient 上传文件
import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.methods.HttpPost;import org.apache.http.entity.ContentType;import org.apache.http.entity.mime.Mu转载 2017-12-06 10:31:01 · 773 阅读 · 0 评论 -
HttpClient 上传文件
CloseableHttpClient httpClient = HttpClientBuilder.create(). setKeepAliveStrategy(new DefaultConnectionKeepAliveStrategy()). setRedirectStrategy(new DefaultRedirectStra原创 2018-01-08 17:43:49 · 1031 阅读 · 0 评论 -
HttpClient4.5.6设置代理以及代理验证(用户名和密码)
https://blog.csdn.net/manong_123/article/details/82531004 HttpClient4.5.6设置代理以及代理验证(用户名和密码)下载 httpcomponents-client-4.5.6-bin 在Apache官网有,贴上链接:http://hc.apache.org/downloads.cgi 下载以后把对应的包导入工程即可(ja...转载 2018-12-10 17:55:34 · 5795 阅读 · 0 评论 -
HttpAsyncClient之模拟post请求示例
如果看到过我前些天写过的《轻松把玩HttpClient之模拟post请求示例》这篇文章,你再看本文就是小菜一碟了,如果你顺便懂一些NIO,基本上是毫无压力了。因为HttpAsyncClient相对于HttpClient,就多了一个NIO,这也是为什么支持异步的原因。不过我有一个疑问,虽说NIO是同步非阻塞IO,但是HttpAsyncClient提供了回调的机制,这点儿跟nett转载 2016-11-03 18:13:56 · 4910 阅读 · 0 评论 -
HttpClient当HTTP连接的时候出现大量CLOSE_WAIT连接
ESTABLISHED 表示正在进行网络连接的数量TIME_WAIT 表示表示等待系统主动关闭网络连接的数量CLOSE_WAIT 表示被动等待程序关闭的网络连接数量上篇文章给出了解决TIME_WAIT太多的方法,本篇文章以HttpClient为例说明解决大量CLOSE_WAIT状态的方法。HttpClient是大量使用的用于HTTP连接的包,首先需要说明的是HttpClient 3.x和4.x之间...转载 2018-06-08 15:00:19 · 6834 阅读 · 0 评论 -
服务器TIME_WAIT和CLOSE_WAIT详解和解决办法
来自:http://blog.csdn.net/shootyou/article/details/6622226 昨天解决了一个HttpClient调用错误导致的服务器异常,具体过程如下:http://blog.csdn.net/shootyou/article/details/6615051里头的分析过程有提到,通过查看服务器网络状态检测到服务器有大量的CLOSE_WAIT的状态。 在服务器的日...转载 2018-06-08 14:53:11 · 749 阅读 · 0 评论 -
HttpClient4.X 连接池配置项 说明
https://blog.csdn.net/shootyou/article/details/6415248在一次服务器异常的排查过程当中(服务器异常排查的过程我会另起文章),我们决定使用HttpClient4.X替代HttpClient3.X或者HttpConnection。为什么使用HttpClient4?主要是HttpConnection没有连接池的概念,多少次请求就会建立多少个IO,在访问...转载 2018-06-08 14:12:41 · 966 阅读 · 0 评论 -
HttpClient连接池抛出大量ConnectionPoolTimeoutException: Timeout waiting for connection异常排查
https://blog.csdn.net/shootyou/article/details/6415248 在一次服务器异常的排查过程当中(服务器异常排查的过程我会另起文章),我们决定使用HttpClient4.X替代HttpClient3.X或者HttpConnection。为什么使用HttpClient4?主要是HttpConnection没有连接池的概念,多少次请求就会建立多少个IO,在访...转载 2018-06-08 14:11:10 · 2131 阅读 · 0 评论 -
HttpClient 使用连接池 Pool 构建链接(兼容HTTPS)
import org.apache.http.Consts;import org.apache.http.HttpEntity;import org.apache.http.NameValuePair;import org.apache.http.client.HttpRequestRetryHandler;import org.apache.http.client.config.Aut...原创 2018-06-08 11:02:19 · 4857 阅读 · 0 评论 -
HttpClient(4.5) post get https 实例
maven:4.4.14.5 org.apache.httpcomponents httpclient ${httpclient.version} org.apache.httpcomponents httpc原创 2017-07-24 11:37:46 · 2350 阅读 · 0 评论 -
httpclient https请求,自定义证书(微信商户示例)
/* * ==================================================================== * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file转载 2018-02-04 14:18:27 · 3017 阅读 · 0 评论 -
Http请求连接池 - HttpClient 的 PoolingHttpClientConnectionManager
http://blog.csdn.net/catoop/article/details/50352334http://sharong.iteye.com/blog/2250777只有一个httpclient的实例,你可以看看CloseableHttpClient和PoolingHttpClientConnectionManager的源码,你会发现httpclient实例通过exec转载 2017-09-13 11:51:24 · 3555 阅读 · 0 评论 -
HttpClient工具正确使用方式
虽然现在基于netty和thift的微服务非常的流行,但是公司内部的蛮多系统仍然对外提供http接口。在调用http接口工具类中,apache httpclient工具用的比较多。下面列举一些正确使用httpclient的一些要点。设置socketTimeout可以在RequestConfig 中设置socketTimeout,表示数据传输处理时间,如下: RequestCon转载 2018-01-09 14:15:25 · 2500 阅读 · 0 评论 -
httpclient SocketTimeout ConnectTimeout ConnectionRequestTimeout
http://m.blog.csdn.net/btlas/article/details/53710854httpclient超时时间说明ConnectionRequestTimeouthttpclient使用连接池来管理连接,这个时间就是从连接池获取连接的超时时间,可以想象下数据库连接池ConnectTimeout连接建立时间,三次转载 2018-01-09 11:28:40 · 8904 阅读 · 0 评论 -
解决httpclient超时设置不生效的问题
http://m.blog.csdn.net/kakaweb/article/details/51974139最近公司有项目需要通过http调用第三方服务,且第三方服务偶有超时,故需要设置一定的超时时间防止不响应的情况出现。初始设置如下: //超时设置 RequestConfig requestConfig = RequestConfig.cust转载 2018-01-09 10:42:25 · 8713 阅读 · 4 评论 -
httpclient4.X 设置代理请求(包含账号密码)
最近需要使用Httpclient做后台请求,使用的是httpclient4.3版本,apache网站上有,我这里就不提供下载链接了,搜一下就可以了,废话少说,直接上代码:Java代码 import java.util.ArrayList; import java.util.List; import org.apache.http.HttpEntit转载 2016-10-25 17:09:40 · 10386 阅读 · 0 评论 -
HttpClient4.5.1简单封装
摘要: HttpClient的简单封装,主要是方便自己在开发小工具的时候是使用。1、maven依赖:dependency> groupId>org.apache.httpcomponentsgroupId> artifactId>httpclientartifactId> version>4.5.1version>dependency>dependency> group转载 2016-10-25 17:04:47 · 2717 阅读 · 0 评论 -
HttpClient实现文件的上传下载
1 HTTP HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。 虽然在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。HttpClient 用来提供高效的、最新的、功能丰富转载 2015-07-17 14:22:49 · 2722 阅读 · 0 评论 -
http 返回码 405 解决方案之一
今天做网络请求数据的时候遇到返回码405,当时就傻了~~ 故事是这样的-- 我用post请求访问一个url,服务端数据是一个json的txt文件,理论上直接访问,返回json,然后解析就没事了,可是今天很无语.居然给我返回405...问了很多人,他们给我提供了各种思路,都不奏效.最后听一个好哥们叫我试试换get请求,哎呀~~~这就解决了...转载 2015-08-25 17:39:25 · 45797 阅读 · 4 评论