早上好, 几周以来,我正试图从使用Android的网页获取一些数据。通常我对此没有任何问题。但在这种情况下,服务器不会返回标准的HTTP答案。
只是为了让你知道它应该回答这样的事情:
Status=OK - 200
Date=Thu, 23 Dec 2011 10:16:17 GMT
Server=Apache/2.2.14 (Ubuntu)
X-Powered-By=PHP/5.3.2-1ubuntu4.9
Vary=Accept-Encoding
Content-Encoding=gzip
Content-Length=49
Keep-Alive=timeout=15, max=96
Connection=Keep-Alive
Content-Type=text/html
...
但它只回答:
Status=OK - 200
...
所以我认为这就是我收到此错误的原因:
W/System.err(18227): Caused by: org.apache.http.ProtocolException: The server failed to respond with a valid HTTP response
我曾经尝试过许多不同的方法,但似乎没有一种方法可以使用这个网络服务器(即使我可以使用浏览器阅读页面)。 我还试图运行脚本并从其他网络服务器上读取其他网页,并且脚本正常运行。但是无法使其与此网络服务器一起使用(因为http答案)。
我用过这个方法:
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet();
request.setURI(new URI(urlAddress));
HttpResponse response = client.execute(request);
也是这个
URL url = new URL(urlAddress);
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
我无法更改网络服务器...你有什么想法可以提供帮助吗?
非常感谢你的时间。