急!怎样获取HttpURLConnection服务器回复Connection: close的数据呢?

hbgzg3006 2010-01-25 03:29:18
//当服务器回复为keep-alive的时候没有问题,但是当是close的时候,就getInputStream就出错了,几乎试过了所有的httpurlconnection的所有的方法,就是获取不到close后面的数据。不知道说明白没有。怎样获取呢?谢谢。
URL inURL=new URL(url);
HttpURLConnection http=(HttpURLConnection)inURL.openConnection();
http.setRequestProperty("User-Agent", "Mozilla/5.0 ");
http.setRequestProperty("Connection", "keep-alive");
http.connect();
InputStream in=http.getInputStream();
...全文
543 11 打赏 收藏 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hbgzg3006 2010-01-25
  • 打赏
  • 举报
回复
感谢大家帮我,设置的参数有点问题。感谢啊。
呼吸先生 2010-01-25
  • 打赏
  • 举报
回复
希望能帮助你 ^_^
呼吸先生 2010-01-25
  • 打赏
  • 举报
回复
LZ可以看看我blog中的这篇文章。
http://blog.csdn.net/Dothwinds/archive/2009/10/16/4683098.aspx
呼吸先生 2010-01-25
  • 打赏
  • 举报
回复
每个Web服务器处理请求都是不同的,可能你少写一个参数就会导致不同的结果,5楼说的有道理,用这个HTTP Analyzer工具分析一下request和response,然后看一下Apache-Coyote/1.1需要的一些头信息。
ghchen 2010-01-25
  • 打赏
  • 举报
回复
不明白楼主的意思,close 后再建一个连接到服务器
fuyou001 2010-01-25
  • 打赏
  • 举报
回复
关注
phyerbarte 2010-01-25
  • 打赏
  • 举报
回复
模拟登陆?还是模拟浏览?
如果是模拟的,用真实的IE或者别的FF什么的,装个Http inject之类的工具,看看到底你发送的请求正确不正确,诸如报文长度,协议格式,post参数等等,仔细看看。
bayougeng 2010-01-25
  • 打赏
  • 举报
回复
没看懂。
数据传完了当然就close了。
ChDw 2010-01-25
  • 打赏
  • 举报
回复
当服务器回复为keep-alive的时候没有问题,但是当是close的时候,就getInputStream就出错了,
---

应该没有错误啊?不太明白你说的 错误是什么?
URL inURL = new URL("http://localhost:8080/test/a.jpg");
HttpURLConnection http = (HttpURLConnection) inURL.openConnection();
http.setRequestProperty("User-Agent", "Mozilla/5.0 ");
//http.setRequestProperty("Connection", "keep-alive");
http.setRequestProperty("Connection", "close");
http.connect();
InputStream in = http.getInputStream();
System.out.println(in);

两种都很正常啊
hbgzg3006 2010-01-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liwenso 的回复:]
帮顶,感觉你既然主动设置close,服务器端就会直接断掉连接了。
[/Quote]
是服务器close的,但是后面仍然是有数据的。
下面是我的请求以及服务器回复的描述。
//我的请求
GET /juas/validatecodegen HTTP/1.1

User-Agent: Java/1.6.0

Host: paper.people.com.cn

Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2

Connection: keep-alive


//服务器的回复
HTTP/1.0 200 OK

Date: Mon, 25 Jan 2010 01:04:18 GMT

Server: Apache-Coyote/1.1

Pragma: No-cache

Cache-Control: No-cache

Expires: Thu, 01 Jan 1970 00:00:00 GMT

Set-Cookie: JSESSIONID=3368A7934342AFA006602B804780716E; Path=/juas

Content-Type: text/plain

Powered-By-ChinaCache: MISS from CNC-LY-3-336

Connection: close

//下面是这次传送的数据

......JFIF.............C..............
liwenso 2010-01-25
  • 打赏
  • 举报
回复
帮顶,感觉你既然主动设置close,服务器端就会直接断掉连接了。

62,620

社区成员

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

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