您的位置:首页 > 编程语言 > Java开发

Java POST请求发送和接收

2015-09-30 15:38 513 查看
发送

<span style="font-size:18px;">	public static void httpPostWithJSON(String url, String json) throws Exception {
// 将JSON进行UTF-8编码,以便传输中文
String encoderJson = URLEncoder.encode(json, HTTP.UTF_8);

DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
httpPost.addHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON);

StringEntity se = new StringEntity(encoderJson);
se.setContentType(CONTENT_TYPE_TEXT_JSON);
se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON));
httpPost.setEntity(se);
httpClient.execute(httpPost);
}</span>


接收

<span style="font-size:18px;">	@RequestMapping(value="/annybmm")
public void impressionMonitor(HttpServletRequest request, HttpServletResponse response) throws IOException {

// 读取请求内容
BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream()));
String line = null;
StringBuilder sb = new StringBuilder();
while((line = br.readLine())!=null){
sb.append(line);
}

// 将资料解码
String reqBody = sb.toString();
String ii = URLDecoder.decode(reqBody, HTTP.UTF_8);
System.out.println(ii);
}</span>


测试

<span style="font-size:18px;">public static void main(String[] args) {
try {
String urlAddr = "http://localhost:8080/dsp-business/bmm/annybmm";
String post = "{'detail':{'status':0,'name':'安安','age':24,'date':'2015-10-10'}}";
BmmController k  = new BmmController();
k.httpPostWithJSON(urlAddr,post);

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}</span>


结果

<span style="font-size:18px;">{'detail':{'status':0,'name':'安安','age':24,'date':'2015-10-10'}}</span>


有待完善 ing
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: