homehttp 2013-09-22
貌似很多人不知道服务器端代码怎么写,在此mark一下:
客户端:
ContentType contentType = ContentType.create(
HTTP.PLAIN_TEXT_TYPE, HTTP.UTF_8);
MultipartEntity entity = new MultipartEntity();
ContentBody fileBody = new FileBody(file);
entity.addPart("file", fileBody);
ContentBody signBody = new StringBody("dolemifasolaxi",contentType);
entity.addPart("SIGN", signBody);
ContentBody imeiBody = new StringBody("xilasofamiledo",contentType);
entity.addPart("IMEI", imeiBody);
服务器代码:
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
CommonsMultipartFile file = (CommonsMultipartFile) multipartRequest.getFile("file");
String imei = multipartRequest.getParameter("IMEI");
System.out.println("imei:" + imei);
String sign = multipartRequest.getParameter("SIGN");
System.out.println("sign:" + sign);HttpClient get调用方式
package com.jshx.http.utils;
import java.io.IOException;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.GetMethod;
public class Test {
private void test(){
HttpClient client = new HttpClient();
String queryString = "{\"className\":\"QueryLaw\",\"userId\":\"5\",\"search\":\"6auY5by6\",\"pageSize\":\"10\",\"pageNum\":\"1\"}";
String url = "http://localhost:8080/jsp/http/json_command.action?strTemp=";
GetMethod get=new GetMethod(url+queryString);
System.out.println("para="+queryString);
String result = "";
try {
client.executeMethod(get);
result = new String(get.getResponseBody(),"UTF-8");
System.out.println("restConn-----------------------------------"+result);
} catch (HttpException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Test test = new Test();
test.test();
}
}HttpClient post调用方式
package com.jshx.http.utils;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
public class postTest {
private void test(){
HttpClient client = new HttpClient();
String queryString = "{\"userId\":\"20130705144110|18963603541\",\"phoneName\":\"华为190\",\"phoneVersion\":\"v.1.1\",\"className\":\"SaveQuick\",\"type\":\"1\",\"queryMonth\":\"2013-02\",\"startTime\":\"2013-02-03 11:16\",\"endTime\":\"2013-02-03 14:16\"}";
PostMethod get = new PostMethod("http://localhost:8080/servlet/JsonServlet");
NameValuePair[] data = new NameValuePair[1];
NameValuePair nameValuePair1 = new NameValuePair("jsonStr", queryString);
//NameValuePair nameValuePair2 = new NameValuePair("docId", "42");
data[0]=nameValuePair1;
//data[1]=nameValuePair2;
get.setRequestBody(data);
System.out.println("para="+queryString);
String result = "";
try{
client.executeMethod(get);
//byte[] responseBody = get.getResponseBody();
StringBuffer sb = new StringBuffer();
sb.append(get.getResponseBody());
result = new String(get.getResponseBody(), "utf-8");
System.out.println("result="+result);
}catch (Exception e) {
// TODO: handle exception
}
}
public static void main(String[] args) {
postTest pt = new postTest();
pt.test();
}
}