Различия между HttpURLConnection и подключением браузера - PullRequest
2 голосов
/ 08 октября 2010

Я пытаюсь подключиться к веб-странице через HttpURLConnection, но он не отвечает так же, как обычный браузер (Firefox, Chrome). Я получаю ошибку 500.

С тем же кодом я могу получить "любую другую" страницу (например, Google). Мой код размещен ниже, но я уверен, что все в порядке.

Используя аддон Firefox «Live HTTP Headers», я отправил тот же запрос и получил действительный ответ.

//...
String urlConsulta = "myURL";
URL url = new URL(urlConsulta);
HttpURLConnection uConsulta = (HttpURLConnection)consulta.openConnection();
uConsulta.setDoOutput(true);
uConsulta.setRequestMethod("POST");
uConsulta.addRequestProperty("Content-Type", "application/x-www-form-urlencoded");
uConsulta.addRequestProperty("Host", "host");
//...

1 Ответ

2 голосов
/ 08 октября 2010

Это может быть вызвано всем. Сервер может рассчитывать на наличие определенных параметров запроса. Сервер может полагаться на действительный сеанс. Сервер может прослушивать пользовательский агент. Etc..etc .. Прочитайте журналы сервера для причины ошибки. Или, если у вас нет доступа к журналам сервера, прочитайте текст ответа об ошибке по HttpURLConnection#getErrorStream(), он может содержать сведения об ошибке.

Смотри также:

...