http post+json 請求和解析utils類
阿新 • • 發佈:2019-01-02
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");
}
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 “ ”;
}