Python запросы, я получил другой статус ответа, чем результат почтальона. - PullRequest
0 голосов
/ 14 сентября 2018

запросов: 2.19.1

python: 3.6

url (это просто URL, особого смысла нет): http://moneycake.tistory.com/43

Python-код (собственно, pycharmкод django):

try:
    r = requests.head('http://moneycake.tistory.com/43', allow_redirects=False)
    print(r.status_code)
except requests.exceptions.RequestException as e:
    pass

Возвращает >>> 403

Но когда я делаю это на Почтальон с методом GET и настройками по умолчанию,

Возвращает 200 OK.

Почему это происходит?

И как я могу получить 200 OK статусный ответ на pycharm?

1 Ответ

0 голосов
/ 14 сентября 2018

Вам необходимо установить User-Agent:

import requests

headers = {
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'
}

try:
    r = requests.head('http://moneycake.tistory.com/43', allow_redirects=False, headers=headers)
    print(r.status_code)
except requests.exceptions.RequestException as e:
    pass

Выход

200
...