一、下面是java代码经过测试后成功了。
package com.test;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.Date;
import net.sf.json.JSONObject;
public class AppHttp {
public static final String ADD_URL = "http://10.20.121.233:8928/ccs/openInterface/compSystemRece.do";
public static void appadd() {
try{
//创建连接
URL url = new URL(ADD_URL);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestMethod("POST");
connection.setUseCaches(false);
connection.setInstanceFollowRedirects(true);
//connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
connection.setRequestProperty("Content-Type","application/json; charset=UTF-8");
connection.connect();
//POST请求
DataOutputStream out = new DataOutputStream(connection.getOutputStream());
JSONObject obj = new JSONObject();
obj.put("orderId", "4444444444444"); // 订单号
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sf.format(new Date()));
obj.put("compTime",sf.format(new Date())); // 投诉时间
obj.put("comperAddress", "我是一个兵"); // 投诉人地址
//System.out.println(obj.toString());
//out.writeBytes(obj.toString());//这个中文会乱码
out.write(obj.toString().getBytes("UTF-8"));//这样可以处理中文乱码问题
out.flush();
out.close();
//读取响应
BufferedReader reader = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
String lines;
StringBuffer sb = new StringBuffer("");
while ((lines = reader.readLine()) != null) {
lines = new String(lines.getBytes(), "utf-8");
sb.append(lines);
}
System.out.println(sb);
reader.close();
// 断开连接
connection.disconnect();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
appadd();
}
}
二、所需要的jar包
commons-lang-2.4.jar commons-logging-1.1.1.jar ezmorph-1.0.6.jar json-lib-0.9.jar 四个jar包。
下载这四个jar包的地址 : http://download.csdn.net/detail/arui_email/7130543
三、HTTP协议状态码的含义
"100 " : Continue "101 " : witching Protocols "200 " : OK "201 " : Created "202 " : Accepted "203 " : Non-Authoritative Information "204 " : No Content "205 " : Reset Content "206 " : Partial Content "300 " : Multiple Choices "301 " : Moved Permanently "302 " : Found "303 " : See Other "304 " : Not Modified "305 " : Use Proxy "307 " : Temporary Redirect "400 " : Bad Request "401 " : Unauthorized "402 " : Payment Required "403 " : Forbidden "404 " : Not Found "405 " : Method Not Allowed "406 " : Not Acceptable "407 " : Proxy Authentication Required "408 " : Request Time-out "409 " : Conflict "410 " : Gone "411 " : Length Required "412 " : Precondition Failed "413 " : Request Entity Too Large "414 " : Request-URI Too Large "415 " : Unsupported Media Type "416 " : Requested range not satisfiable "417 " : Expectation Failed "500 " : Internal Server Error "501 " : Not Implemented "502 " : Bad Gateway "503 " : Service Unavailable "504 " : Gateway Time-out "505 " : HTTP Version not supported