HttpClient+List<NameValuePair>发送和接收参数——基于struts2或者ssh等框架
需要引入一些类库
发送方:
public void test1(){
try{
//创建连接
HttpClient httpclient = new DefaultHttpClient();
//设置Cookie的兼容性
httpclient.getParams().setParameter(ClientPNames.COOKIE_POLICY, CookiePolicy.BROWSER_COMPATIBILITY);
httpclient.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
httpclient.getParams().setParameter("http.protocol.content-charset",requestInfo.getCharSet());
httpclient.getParams().setParameter(HTTP.CONTENT_ENCODING, requestInfo.getCharSet());
httpclient.getParams().setParameter(HTTP.CHARSET_PARAM, requestInfo.getCharSet());
httpclient.getParams().setParameter(HTTP.DEFAULT_PROTOCOL_CHARSET,requestInfo.getCharSet());
//15秒连接不上则失败
httpclient.getConnectionManager().closeIdleConnections(15, TimeUnit.SECONDS);
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("name", "李明"));
nvps.add(new BasicNameValuePair("age", "10"));
HttpResponse response;
HttpPost httppost = new HttpPost("http://***/test2.do"); //发送的地址url,你需要自己更改,比如http://127.0.0.1/项目名/请求.do
httppost.setEntity(new UrlEncodedFormEntity(nvps,utf-8));
response = httpclient.execute(httppost);
String result=EntityUtils.toString(response.getEntity());
return_result = StringUtils.isNotBlank(result) ? result : "noSuccess";
return return_result;
}catch(Exception e){
}
}
接收方:
//模拟第三方返回结果
public void test2() {
try {
ActionContext ctx = ActionContext.getContext();
HttpServletRequest request = (HttpServletRequest) ctx.get(ServletActionContext.HTTP_REQUEST);
HttpServletResponse response = (HttpServletResponse) ctx.get(ServletActionContext.HTTP_RESPONSE);
//列举显示所有参数的键值对
Enumeration en = request.getParameterNames();
while (en.hasMoreElements()) {
String k = (String) en.nextElement();
String v = request.getParameter(k);
System.out.println("k="+k+" v="+v);
}
String name=request .getParameter("name");
System.out.println("name="+name);
//返回结果,比如收到了,或者操作成功
PrintWriter printWriter = response.getWriter();
printWriter.write("true");
printWriter.flush();
printWriter.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}