HttpClient模拟客户端向 服务器接口 传递 Json 数据

使用HttpClient向服务器接口发送Json参数时,需要对特殊字符如 "、{、} 进行URL转义,防止报错。通过replaceAll方法将 " 替换为 %22,{ 替换为 %7b,} 替换为 %7d,并注意不要对URL的域名和路径部分进行转义。同时,如果参数中有空格,也需要进行转义处理。
摘要由CSDN通过智能技术生成

HttpClient向服务器接口 传递 json参数,参数要做特殊的处理,否则报错。

错误原因是:HttpGet或 HttpPost都不能传包含 " 、“{"、"}"这样的参数,需要对特殊字符进行转义,把 " 转成%22,把 { 转成%7b,把 } 转成%7d

干脆直接自己 replaceAll 算了,两次:
“{” => %7B

“}” => %7D


对了,URLEncode从?之后的参数开始,不要把域名和路径也放进去了。



String x = IOUtility.read2String("d:/pushlog.txt");
x = URLEncoder.encode(x,"UTF-8");
x = x.replace(" ", "").replace("\"", "%22");
x = x.replace("{", "%B").replace("}", "%7D");
		
String uri = "http://10.131.80.148:8080/receive/log?data=" + x;  
HttpGet get = new HttpGet(uri);
System.out.println(get);
HttpResponse res = client.execute(get);;
	

[java]  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值