httpclient怎么设置post请求长度
发布网友
发布时间:2022-04-19 12:44
我来回答
共3个回答
热心网友
时间:2023-06-27 13:27
HttpClient 是apache 组织下面的一个用于处理HTTP 请求和响应的开源工具。所用jar包为httpclient-4.3.6.jar、httpcore-4.3.3.jar、httpmime-4.3.6.jar、commons-codec-1.6.jar。
发送Post请求代码如下:
[java] view plain copy
package com.zkn.newlearn.httpclient;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.List;
import org.apache.http.Consts;
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import com.google.common.collect.Lists;
/**
*
* @author zkn 2016-06-05
*
*/
public class HttpClientTest01 {
public static void main(String[] args) {
//创建HttpClient对象
CloseableHttpClient closeHttpClient = HttpClients.createDefault();
CloseableHttpResponse httpResponse = null;
//发送Post请求
HttpPost httpPost = new HttpPost("http://localhost:8080/MyWebxTest/getCityByProvinceEname.do");
//设置Post参数
List<NameValuePair> params = Lists.newArrayList();
params.add(new BasicNameValuePair("cityEname", "henan"));
try {
//转换参数并设置编码格式
httpPost.setEntity(new UrlEncodedFormEntity(params,Consts.UTF_8));
//执行Post请求 得到Response对象
httpResponse = closeHttpClient.execute(httpPost);
//httpResponse.getStatusLine() 响应头信息
System.out.println(httpResponse.getStatusLine());
//返回对象 向上造型
HttpEntity httpEntity = httpResponse.getEntity();
if(httpEntity != null){
//响应输入流
InputStream is = httpEntity.getContent();
//转换为字符输入流
BufferedReader br = new BufferedReader(new InputStreamReader(is,Consts.UTF_8));
String line = null;
while((line=br.readLine())!=null){
System.out.println(line);
}
//关闭输入流
is.close();
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
if(httpResponse != null){
try {
httpResponse.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(closeHttpClient != null){
try {
closeHttpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
热心网友
时间:2023-06-27 13:27
String content = JSONBinder.binder(Vendor.class).toJSON(v); 不要转 string 直接发对象
热心网友
时间:2023-06-27 13:28
String content
httpclient怎么设置post请求长度
public static void main(String[] args) { //创建HttpClient对象 CloseableHttpClient closeHttpClient = HttpClients.createDefault();CloseableHttpResponse httpResponse = null;//发送Post请求 HttpPost httpPost = new HttpPost("http://localhost:8080/MyWebxTest/getCityByProvinceEname.do");//设置...
静态ip - StormProxies
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP纯净高匿;2、覆盖全球200+的国家与地区,超7000万住宅IP。3、高可靠性,24小时稳定运行,平均99.99%的可用率;4、性价比更高,便宜好用,单个IP也能享受最优价格,没有额外费用;5、易于使用,支持HTTP/HTTPS/SOCKS5协议,提供多种API参数,网络集成更快捷;6、客服全天在线为您排忧解难,并可根据您的业务需求制定更合适的代理…StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP纯净高匿;2、覆盖全球20...
C# httpClient Post怎么发送超长字符串
可以试试用http的PUT方法,先将要传输的数据以文件格式保存在本地,然后用PUT推到服务器上面去;可以朝着这个方向试试;
HttpClient使用指南——POST请求
1.创建一个请求客户端:HttpClients.createDefault(),用来实际发起调用post请求,可以类比成浏览器。2.组装表单请求数据:因需要传递文件,所以通过 MultipartEntityBuilder 构造器组装表单实体请求数据。2.1 设置mode为 HttpMultipartMode.RFC6532 (必须);2.2 设置字符集为UTF-8(必须);2.3 通过 add...
为什么HttpClient请求返回400,URL请求返回302正常
GET方式提交的数据超长了,不要用GET方式。换成POST方式提交。把URL的参数提取出来,不要写到URL里面。是不是如楼上说的,长度超限制了。Get方式长度限制为1024个字节。我在用android开发时也碰到过相似情况,通过HttpURLConnection获取网页内容时,发出请求一直返回400 。后来查下来是服务端跳转了,设置set...
HttpClient 怎么获取连接的内容长度?? response.getEntity().getConten...
//添加要传递的参数 params.add(new BasicNameValuePair("par","HTTP_Client_android_Post"));try { //设置字符集 HttpEntity httpentity=new UrlEncodedFormEntity(params,"gb2312");//请求httpRequest httpRequest.setEntity(httpentity);//取得HttpClient对象 HttpClient httpclient=new DefaultHttpClient(...
每次调用是不是一定要对httpclient进行dispose
httpClient.PostAsync("/", new FormUrlEncodedContent(parameters));} 所以每次请求时都要经历新建TCP连接->传数据->关闭连接(也就是通常所说的短连接),而且雪上加霜的是请求用的是https,建立TCP连接时还需要一个基于公私钥加解密的key exchange过程:Client Hello -> Server Hello -> Certificate...
httpClient能不能在一次post请求中进行多次数据交换
有时候我们在发送HTTP请求的时候会使用到POST方式,如果是传送普通的表单数据那将很方便,直接将参数到一个Key-value形式的Map 中即可。但是如果我们需要传送的参数是Json格式的,会稍微有点麻烦,我们可以使用HttpClient类库提供的功能来实现这个需求。假设我们需要发 送的数据是:{ "blog": "","Author"...
如何使用HttpClient
1. 创建HttpClient对象。2. 创建请求方法的实例,并指定请求URL。如果需要发送GET请求,创建HttpGet对象;如果需要发送POST请求,创建HttpPost对象。3. 如果需要发送请求参数,可调用HttpGet、HttpPost共同的setParams(HetpParams params)方法来添加请求参数;对于HttpPost对象而言,也可调用setEntity(HttpEntity ...
httoclient类中的postmethod方法中用需要传入的参数是什么?
用PostMethod 模拟http post请求,需要解决传递字符串,文件等需求。httpclient对此,提供了对应实现,实现方法关键在:RequestEntity。示例:RequestEntity requestEntity = newStringRequestEntity(text);post.setRequestEntity(requestEntity);示例中,是传递一个普通字符型参数。这个方法代替了以前直接设置Request...
HttpClient.executeMethod(PostMethod)如何设置返回值?
1.服务器认证(Server Authentication)HttpClient处理服务器认证几乎是透明的,仅需要开发人员提供登录信息(login credentials)。登录信息保存在HttpState类的实例中,可以通过 setCredentials(String realm, Credentials cred)和getCredentials(String realm)来获取或设置。HttpClient内建的自动认证,可以通过HttpMethod...