Python запрашивает ответ, получая неправильный URL - PullRequest
0 голосов
/ 26 мая 2018

Я пытаюсь запросить данные из URL, но постоянно получаю 404 error

session = requests.Session()
GET = session.get("http://www.inmet.gov.br/sonabra/pg_dspDadosCodigo_sim.php?QTgwNA==", timeout=1)
GET.raise_for_status()

soup = bs4.BeautifulSoup(GET.text, 'html.parser')
imgNumber  = soup.img.get("src").split("imgNum=", maxsplit=1)[1]
decodeNumber = str(base64.b64decode(imgNumber), 'utf-8')

request = {"dtaini": self.start, "aleaValue": imgNumber,
                  "aleaNum": decodeNumber, "dtafim": self.end}

POST = session.post(stationURL, data=request)
POST.raise_for_status()

результат регистрации:

urllib3.connectionpool: DEBUG: Starting new HTTP connection (1): www.inmet.gov.br
urllib3.connectionpool: DEBUG: http://www.inmet.gov.br:80 "GET /sonabra/pg_dspDadosCodigo_sim.php?QTgwNA==  HTTP/1.1" 200 690
urllib3.connectionpool: DEBUG: /sonabra/pg_dspDadosCodigo_sim.php?QTgwNA==  HTTP/1.1" 302 498
urllib3.connectionpool: DEBUG: http://www.inmet.gov.br:80 "GET /sonabra/log2/index.php HTTP/1.1" 404 302

Я не уверен, что случилось, как этоработал несколько месяцев назад, и запрос работает в браузере.Я ценю любую помощь или совет.

Ответы [ 2 ]

0 голосов
/ 27 мая 2018

По какой-то причине у меня возникла путаница в отладке, показывающей старые формы в Chrome и Firefox, причина, по которой он не работал, заключается в том, что интерфейс данных формы изменился с:

request = {"dtaini": self.start, "aleaValue": imgNumber,
           "aleaNum": decodeNumber, "dtafim": self.end}

на:

request = {"aleaValue": aleaValue, "xaleaValue": xaleaValue,
           "aleaNum": aleaNum, "xID": xID,
           "dtaini": self.start, "dtafim": self.end}

Мое предложение кому-то с подобной проблемой - отдохнуть, посмотреть вещи лучше на следующее утро, с кофе ...

0 голосов
/ 26 мая 2018

Это не имеет ничего общего с Python, я даже получил 404, просто используя веб-браузер, попробуйте другой URL или обратитесь к владельцу сервера, если вы думаете, что это не должно происходить.

...