1. 程式人生 > >http post+json 請求和解析utils類

http post+json 請求和解析utils類

1、package util;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.CoreConnectionPNames;
public class HttpClientUtil {

private static int httpClinetSoTimeout = 30000;
private static int httpClientConnectionTimeout = 30000;

    private static final String APPLICATION_JSON = "application/json";    
    private static final String CONTENT_TYPE_TEXT_JSON = "text/json";

public static String httpSendRequest(String url,String jsonString) {

HttpClient client = null;
String respData = "";
try {
client = new DefaultHttpClient();
client.getParams().setParameter(
CoreConnectionPNames.CONNECTION_TIMEOUT,
httpClientConnectionTimeout);
client.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT,
httpClinetSoTimeout);
HttpPost post = new HttpPost(url);
StringEntity entry = new StringEntity(jsonString, "UTF-8");
entry.setContentEncoding("UTF-8");
entry.setContentType("text/xml");
post.setEntity(entry);


HttpResponse httpResponse = client.execute(post);
InputStream fsdf = httpResponse.getEntity().getContent();
BufferedReader br = new BufferedReader(new InputStreamReader(fsdf,
"UTF-8"));
String line = null;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
sb.append(line);
}
respData = sb.toString();


} catch (Exception e) {
System.out.println(e);
}
return respData;
}

public static String receivePost(InputStream input) throws IOException,UnsupportedEncodingException{
// 讀取請求內容
BufferedReader br = new BufferedReader(new InputStreamReader(input,"UTF-8"));
String line = null;
StringBuilder sb = new StringBuilder();
while((line =br.readLine())!=null){
sb.append(line);
}

String reqBody = sb.toString();
return URLDecoder.decode(reqBody,"UTF-8");

}

}

2、接收並解析

 @RequestMapping(value = "/torderList")
    @ResponseBody
    public String torderList(HttpServletRequest request) throws IOException {
    String orderReq = HttpClientUtil.receivePost(request.getInputStream());
    OrderReq req = JSONObject.parseObject(orderReq, OrderReq.class);
        return “ ”;
    }