以JSON格式入参时:
String url = "http://localhost:8080/abc/ddre";
//封装参数
// List <NameValuePair> nvps = new ArrayList <NameValuePair>();
StringBuffer queryParams = new StringBuffer();
queryParams.append("{");
queryParams.append("\"abc\":\"123\"");//
queryParams.append("}");
此处的入参可以直接用json对象put入参,最后在toString(),效果一样。
前方高能===================》
以下是4.2.1客户端重点写法。新版本的写法不同。
HttpClient client = new DefaultHttpClient();
try {
//实例化HTTP POST方法
HttpPost postmethod = new HttpPost(url);
设置请求头,json格式。
postmethod.setHeader("Content-Type","application/json;charset=UTF-8");
请求体,入参
StringEntity se = new StringEntity(queryParams.toString());postmethod.setEntity(se);
//执行请求
HttpResponse reponse = client.execute(postmethod);
//返回实体
HttpEntity entity = reponse.getEntity();
returnmsg=EntityUtils.toString(entity,"UTF-8");
System.out.println("POST返回数据:"+returnmsg);
}catch(Exception e) {
returnmsg="fail";
e.printStackTrace();
}finally{
//关闭连接,释放资源
client.getConnectionManager().shutdown();
JSONObject json = new JSONObject();
json.put("returnmsg", returnmsg);
return json;
}