大家好,欢迎来到IT知识分享网。
HttpGet与HttpPost添加参数
HttpGet添加参数
HttpGet是没有办法添加参数的,但是有时候访问的URI也包含参数,且参数较多,这时候,需要借助别的方法来添加参数。
1.直接使用字符串拼接
此方法直接是参数的拼接,不再介绍 。
2.使用URIBuilder方式添加参数
这里的URL不需要加问号?
URIBuilder uriBuilder = new URIBuilder(url);
List<NameValuePair> nvps = new ArrayList<>();
nvps.add(new BasicNameValuePair("param", ""));//参数
//可以加很多参数
uriBuilder.setParameters(nvps);
HttpGet httpGet = new HttpGet(uriBuilder.build());
//可以在httpGet 上添加header
httpClient.execute(httpGet);//CloseableHttpClient执行方法
这种方法添加的参数比较清晰。
HttpPost添加参数
1.直接使用字符串拼接
略
2.WebForm参数
使用List nvps添加参数
HttpPost httppost = new HttpPost(url);
List<BasicNameValuePair> nvps = new ArrayList<BasicNameValuePair>();
nvps.add(new BasicNameValuePair("__VIEWSTATE","参数值"));
//省略n个参数名和值
httppost.setEntity(new UrlEncodedFormEntity(nvps, "utf-8"));
//可以在httpPost 上添加header
httpClient.execute(httppost);//CloseableHttpClient执行方法
3.JSON形式的参数
使用JSONObject形式来添加,JSONObject是com.alibaba.fastjson.JSONObject
HttpPost httpPost = new HttpPost(url);
//给httpPost添加header
JSONObject param = new JSONObject();
param.put("birthDates", new JSONArray());//添加参数
//json参数自己添加
httpPost.setEntity(new StringEntity(param.toString(), "UTF-8"));
httpClient.execute(httpPost);//CloseableHttpClient执行方法
总结
不管是哪种形式的参数,其本质仍然是字符串,所以只要把参数组装好都是可以的。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/12644.html