HttpGet与HttpPost添加参数

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执行方法

总结

不管是哪种形式的参数,其本质仍然是字符串,所以只要把参数组装好都是可以的。

  • 8
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值