HttpClient4模拟请求,发送JSON数据解决思路
HttpClient4模拟请求,发送JSON数据
现在我已经拼接好了JSON字符串,想要通过HttpClient向后台发送数据,采用Post方式,但是不知道该怎么做,网上找的有很多不一样的,求解呀?
我写的代码如下:
但是代码我总是感觉有问题,请大家给一个实例代码吧!谢谢了
------解决方案--------------------
发送json参数,首先你的构造这样的json字符串,你这明显不是json格式的字符串嘛
------解决方案--------------------
以流 的形式写、
------解决方案--------------------
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair(name, userName));
nvps.add(new BasicNameValuePair(pass, password));
httpost.setEntity(new UrlEncodedFormEntity(nvps, Consts.UTF_8));
现在我已经拼接好了JSON字符串,想要通过HttpClient向后台发送数据,采用Post方式,但是不知道该怎么做,网上找的有很多不一样的,求解呀?
我写的代码如下:
public class HttpTest {
public static void main(String[] args) throws IOException {
String formStatusData="[{formState:处理中"+"}]";
DefaultHttpClient httpClient = new DefaultHttpClient();
StringEntity params =new StringEntity(formStatusData,"UTF-8");
List<NameValuePair> list=URLEncodedUtils.parse(params);
System.out.println(URLEncodedUtils.format(list, HTTP.UTF_8);//输出结果为空
String url="http://localhost/seeyon/mattersApplication/mattersApplication.do?method=newMatters&formStatusData="+URLEncodedUtils.format(list, HTTP.UTF_8);
HttpPost request=new HttpPost(url);
try {
request.addHeader("content-type", "application/json");
request.setEntity(params);
HttpResponse response = httpClient.execute(request);
int statusCode= response.getStatusLine().getStatusCode();
if(statusCode==HttpStatus.SC_OK){
System.out.println("hahah");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
但是代码我总是感觉有问题,请大家给一个实例代码吧!谢谢了
------解决方案--------------------
发送json参数,首先你的构造这样的json字符串,你这明显不是json格式的字符串嘛
------解决方案--------------------
以流 的形式写、
------解决方案--------------------
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair(name, userName));
nvps.add(new BasicNameValuePair(pass, password));
httpost.setEntity(new UrlEncodedFormEntity(nvps, Consts.UTF_8));