Доброе утро! Уже несколько недель я пытаюсь получить данные с веб-страницы с помощью 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()));
Я не могу изменить веб-сервер ... У вас есть идеи, которые могут помочь?
Большое спасибо за потраченное время.