Ошибка java — 403. Простая веб-страница работает нормально

Я посмотрел на другие подобные посты, но ничего очевидного не выпрыгивает. Я уверен, что кто-то укажет мне правильное направление, если я пропустил это!

Проблема в том, что этот код в моем приложении работал, но больше не работает. Поэтому я предполагаю, что что-то изменилось на сайте. Я использую точно такой же код для трех других сайтов в том же приложении, и они работают нормально. LOGCAT показывает следующую ошибку:

org.jsoup.HttpStatusException: ошибка HTTP при получении URL. Статус = 403, URL =http://notamweb.aviation-civile.gouv.fr/Script/IHM/Bul_Aerodrome.php

Я сделал эту простую веб-страницу, которую я могу запустить с локального диска, и она работает (если вы попробуете это самостоятельно, вам нужно настроить дату и время на текущее время UTC):

<form method="post" action="http://notamweb.aviation-civile.gouv.fr/Script/IHM/Bul_Aerodrome.php">

Enter aerodrome ID(s)

<input type="text" name="AERO_Tab_Aero[0]">

<input type="hidden" name="AERO_Date_DATE" value="2016/01/25">
<input type="hidden" name="AERO_Date_HEURE" value="07:12">

<input type="hidden" name="bResultat" value="true">
<input type="hidden" name="ModeAffichage" value="COMPLET">

<input type="hidden" name="AERO_Duree" value="96">
<input type="hidden" name="AERO_CM_REGLE" value="1">
<input type="hidden" name="AERO_CM_GPS" value="2">
<input type="hidden" name="AERO_CM_INFO_COMP" value="1">
<p>
<input type="Submit" value="Get the bulletins">
</p>

</form>

Этот код возвращает ошибку:

doc = Jsoup.connect("http://notamweb.aviation-civile.gouv.fr/Script/IHM/Bul_Aerodrome.php")
.data("bResultat", "true").data("ModeAffichage", "COMPLET")
.data("AERO_Date_DATE", date).data("AERO_Date_HEURE", time).data("AERO_Duree", "96").data("AERO_CM_REGLE", "1").data("AERO_CM_GPS", "2")
.data("AERO_CM_INFO_COMP", "1").data("AERO_Tab_Aero[0]", params[0].substring(0, params[0].length() - 1))
.userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36")
.timeout(6000).post();

Мысли?

РЕДАКТИРОВАНИЕ № 1:
Заголовки, которые я вижу, когда использую мою мини-страницу:

ЗАПРОСИТЬ ЗАГОЛОВОКИ
Accept: Текст / HTML, приложение / XHTML + XML, приложение / XML; д = 0,9, образ / WebP,/; Д = 0,8

Accept-Encoding: gzip, deflate

Accept-Language: EN-US, ан; д = 0,8, АС-ен; д = 0,6

Cache-Control: макс возраста = 0

Подключение: держать-жив

Content-Length: 180

Content-Type: применение / х-WWW-форм-urlencoded

Ведущий: notamweb.aviation-civile.gouv.fr

Происхождение: нулевая

Обновление нестабильным-запросов: 1

Пользователь-агент: Mozilla / 5.0 (Windows NT 6.1;
WOW64) AppleWebKit / 537.36 (KHTML, как Gecko) Chrome / 47.0.2526.111
Safari / 537,36

ФОРМА ДАННЫХ

AERO_Tab_Aero [0]: KLAX

AERO_Date_DATE: 2016/01/25

AERO_Date_HEURE: 11: 21

bResultat: правда

ModeAffichage: COMPLET

AERO_Duree: 96

AERO_CM_REGLE: 1

AERO_CM_GPS: 2

AERO_CM_INFO_COMP: 1

2

Решение

Помогая идее от JonasCz:

Чтобы исправить это, загрузите страницу в браузере своего компьютера и просмотрите вкладку сети инструментов разработчика, чтобы увидеть, что именно она отправляет, особенно файлы cookie и заголовки. Я предполагаю, что вам нужно отправить другие / дополнительные файлы cookie или заголовок Referer, поскольку веб-сайт может проверять это, а затем отправлять такие же или похожие заголовки / файлы cookie по вашему запросу.

0

Другие решения

Проблема была решена. Проблема в том, что часы на эмуляторе были неверными, что вызвало отклонение запроса

1

По вопросам рекламы [email protected]