public String Post(String content, String charset, String url) {
try {
URL u = new URL(url);
HttpURLConnection http = (HttpURLConnection) u.openConnection();
/*
http.setDoOutput(true);
http.setDoInput(true);
http.setRequestMethod("POST");
http.setConnectTimeout(50000);
http.setReadTimeout(50000);
http.connect();
OutputStream output = http.getOutputStream();
output.write(content.getBytes());
output.flush();
output.close();
*/
//如果吧注释取消掉就出现了严重: null
java.io.IOException: Server returned HTTP response code: 500 for URL: 问题出在哪呢
System.out.println(http.getResponseCode());
StringBuilder sb = new StringBuilder();
BufferedReader in;
if (charset != null) {
in = new BufferedReader(new InputStreamReader(http.getInputStream(), charset));
} else {
in = new BufferedReader(new InputStreamReader(http.getInputStream()));
} String line = "";
while ((line = in.readLine()) != null) {
sb.append(line).append("\n");
}
in.close();
http.disconnect();
return sb.toString();
} catch (Exception ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
System.out.println(url + " Post ");
return null;
}
}
try {
URL u = new URL(url);
HttpURLConnection http = (HttpURLConnection) u.openConnection();
/*
http.setDoOutput(true);
http.setDoInput(true);
http.setRequestMethod("POST");
http.setConnectTimeout(50000);
http.setReadTimeout(50000);
http.connect();
OutputStream output = http.getOutputStream();
output.write(content.getBytes());
output.flush();
output.close();
*/
//如果吧注释取消掉就出现了严重: null
java.io.IOException: Server returned HTTP response code: 500 for URL: 问题出在哪呢
System.out.println(http.getResponseCode());
StringBuilder sb = new StringBuilder();
BufferedReader in;
if (charset != null) {
in = new BufferedReader(new InputStreamReader(http.getInputStream(), charset));
} else {
in = new BufferedReader(new InputStreamReader(http.getInputStream()));
} String line = "";
while ((line = in.readLine()) != null) {
sb.append(line).append("\n");
}
in.close();
http.disconnect();
return sb.toString();
} catch (Exception ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
System.out.println(url + " Post ");
return null;
}
}
content = "tag=test&cid=9&content=test"; // 这样POST能成功
content = "tag=test&cid=9&content=test&title=aa";// 这样POST 就出现一楼的异常 这个title 加上去就出问题了,这是怎么回事呢,是我的post文件有问题还是,我的JAVA HTTP有问题?
POST文件是ASP的cid = Request.Form("cid")
title = Request.Form("title")
content = Request.Form("content")
tag = Request.Form("tag")
WriteTime = Now()If title = "" Then
Response.Write " error" & Request.Form("title")
Response.End()
Else
qqhl_insert()
End If这是我的代码
Response.Write " error" & Request.Form("title")
Response.End()
Else应该 是 ==
URLConnection con = url.openConnection();
con.setUseCaches(false);
con.setDoOutput(true);
con.setDoInput(true);
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(con.getOutputStream(),"UTF-8"));
out.write(xmlString);
out.flush();
out.close();试试看,
con.setDoOutput(true);
con.setDoInput(true);
才能post
混 了 如果那样的话 你试过 跟踪 你的后台看看能执行到 什么地方?比如在必要的地方 将内容打印到 后台 看看有没有地方有错啊 如果你的URL只有在加了title参数 后出现错误 那么一定就是这里有问题 了吧
怎样跟踪后台我加了title 参数后 content = "tag=test&cid=9&content=test&title=aa";
System.out.println(content);
OutputStream output = http.getOutputStream();
output.write(content.getBytes());
output.flush();
output.close(); System.out.println(http.getInputStream());// 这里就是null了
搞了半天是我的asp文件出问题了