java 发送HTTP POST 出现500错误

cooc2000 2011-12-05 09:58:59
    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;
}
}
...全文
1947 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
cooc2000 2011-12-05
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 babyboy9685 的回复:]

引用 8 楼 cooc2000 的回复:

引用 6 楼 babyboy9685 的回复:

If title = "" Then
Response.Write " error" & Request.Form("title")
Response.End()
Else

应该 是 ==


ASP 是一个=号的啊


混 了 如果那样的话 你……
[/Quote]

搞了半天是我的asp文件出问题了。。。
cooc2000 2011-12-05
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 babyboy9685 的回复:]

引用 8 楼 cooc2000 的回复:

引用 6 楼 babyboy9685 的回复:

If title = "" Then
Response.Write " error" & Request.Form("title")
Response.End()
Else

应该 是 ==


ASP 是一个=号的啊


混 了 如果那样的话 你……
[/Quote]

怎样跟踪后台

我加了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了
逍遥庄主 2011-12-05
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 cooc2000 的回复:]

引用 6 楼 babyboy9685 的回复:

If title = "" Then
Response.Write " error" & Request.Form("title")
Response.End()
Else

应该 是 ==


ASP 是一个=号的啊
[/Quote]

混 了 如果那样的话 你试过 跟踪 你的后台看看能执行到 什么地方?比如在必要的地方 将内容打印到 后台 看看有没有地方有错啊 如果你的URL只有在加了title参数 后出现错误 那么一定就是这里有问题 了吧
cooc2000 2011-12-05
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 smst1987 的回复:]

Java code


URL url = new URL(urlString);
URLConnection con = url.openConnection();
con.setUseCaches(false);
con.setDoOutput(true);
con.setDoInput(true);
BufferedWriter out = new BufferedWriter(new ……
[/Quote]

仔细看一楼,
cooc2000 2011-12-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 babyboy9685 的回复:]

If title = "" Then
Response.Write " error" & Request.Form("title")
Response.End()
Else

应该 是 ==
[/Quote]

ASP 是一个=号的啊
smst1987 2011-12-05
  • 打赏
  • 举报
回复


URL url = new URL(urlString);
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
逍遥庄主 2011-12-05
  • 打赏
  • 举报
回复
If title = "" Then
Response.Write " error" & Request.Form("title")
Response.End()
Else

应该 是 ==
cooc2000 2011-12-05
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 babyboy9685 的回复:]

引用 3 楼 cooc2000 的回复:

1,2楼的url没什么问题

content = "tag=test&cid=9&content=test&key1=aa&key2=aa";// 这样POST能成功
content = "tag=test&cid=9&content=test";……
[/Quote]

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


这是我的代码
逍遥庄主 2011-12-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 cooc2000 的回复:]

1,2楼的url没什么问题

content = "tag=test&cid=9&content=test&key1=aa&key2=aa";// 这样POST能成功
content = "tag=test&cid=9&content=test"; // 这样POST能成功
content = "tag=test&……
[/Quote]
你在后台处理 这个请求时 是不是要接收这个title 参数 处理?还是你写了一个统一的 参数处理类,对不存在的参数 抛出了 500
cooc2000 2011-12-05
  • 打赏
  • 举报
回复
1,2楼的url没什么问题

content = "tag=test&cid=9&content=test&key1=aa&key2=aa";// 这样POST能成功
content = "tag=test&cid=9&content=test"; // 这样POST能成功
content = "tag=test&cid=9&content=test&title=aa";// 这样POST 就出现一楼的异常 这个title 加上去就出问题了,这是怎么回事呢,

是我的post文件有问题还是,我的JAVA HTTP有问题?

逍遥庄主 2011-12-05
  • 打赏
  • 举报
回复
还有就是你连接的URL里边的处理方法
逍遥庄主 2011-12-05
  • 打赏
  • 举报
回复
检验下你的URL格式是什么样的?

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧