一、下面是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包。
三、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