我现在的需求是向服务器发送一个POST请求,代码如下:
URL url = new URL("http://www.xxxx.com");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST"); InputStream in = (InputStream) conn.getInputStream();
InputStreamReader reader = new InputStreamReader(in, "utf8");
int charInt = reader.read();
String responseContent = "";
while (charInt != -1) {
responseContent = responseContent + (char)charInt;
charInt = reader.read();
} 如果conn.setRequestMethod("GET");程序执行就没有问题。换成POST程序报错:java.io.IOException: Server returned HTTP response code: 411 for URL:XXXXXX....
上网查了一下,411错误是没指定content-length,请问大家这个怎么解决。
URL url = new URL("http://www.xxxx.com");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST"); InputStream in = (InputStream) conn.getInputStream();
InputStreamReader reader = new InputStreamReader(in, "utf8");
int charInt = reader.read();
String responseContent = "";
while (charInt != -1) {
responseContent = responseContent + (char)charInt;
charInt = reader.read();
} 如果conn.setRequestMethod("GET");程序执行就没有问题。换成POST程序报错:java.io.IOException: Server returned HTTP response code: 411 for URL:XXXXXX....
上网查了一下,411错误是没指定content-length,请问大家这个怎么解决。
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setDoOutput(true); // POST方式
con.setRequestMethod("POST");
OutputStream os = con.getOutputStream(); // 输出流,写数据
os.write("..........".getBytes());
BufferedReader reader = new BufferedReader(new InputStreamReader(con.getInputStream())); // 读取结果
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}原文地址:
http://www.java2000.net/viewthread.jsp?tid=302