我正在尝试从2个Jetty服务器(Eclipse - Google插件)中读取和解析rss提要:一个启用了App引擎SDK,另一个没有启动。 1.当我在使用app引擎启用的码头测试时,它可以正常工作 2.当我在没有启用app引擎的Jetty服务器上使用相同的代码时,我收到以下消息(因为收到的文本为空):
javax.xml.stream.XMLStreamException:[row,col]处的ParseError:[1,1] 消息:文件过早结束。
我在代码中搜索了输入流的过早读取(我使用新的URL(主机)和url.openStream()来读取输入),但是代码是正常的(如果它不是它不会可能在第一种情况下工作)。
我使用tcpdump(-s 1024 -l -A dst host.com -i wlan0)来检查标题:
第一种情况:
GET / rss / ... HTTP / 1.1
主持人:www.host.com
连接:Keep-Alive
Cookie:环境= a%3A2%3A%7Bs%3A4%3A%22skin%22%3Bs%3A7%3A%22default%22%3Bs%3A4%3A%22lang%22%3Bs%3A5%3A%22ro_RO %22%3B%7D; ISPC = 1
Cookie2:$ Version = 1
第二种情况:
GET / rss / ... HTTP / 1.1
缓存控制:无缓存
Pragma:no-cache
User-Agent:Java / 1.6.0_39
主持人:www.host.com
接受:text / html,image / gif,image / jpeg,*; q = .2, / ; Q = 0.2
连接:keep-alive
这些标题可能是问题吗?有没有办法设置完全相同的标题?它会解决问题吗?
答案 0 :(得分:0)
我认为问题是User-Agent标头,它决定了一些服务器为某些值发送空内容(比如我的情况下是Jav / 1.6.0_39)。我将User-Agent设置为空字符串,现在响应正常。