Я использую почтовый запрос для доступа к веб-сайту, для которого требуется аутентификация. Если эта проверка подлинности неверна, я получаю ответ [401]. Я хочу проверить, является ли аутентификация неправильной, и если да, прекратите процесс и покажите какую-либо ошибку. Я не знаю синтаксис, чтобы проверить, является ли ответ 401.Как проверить ответ 401 на пост-запрос в python?
output = requests.post(cfg.get('HTTP', 'url'), data = query, verify=False, auth=HTTPBasicAuth(credentials['user'], credentials['pass']))
if output == '<Response [401]>':
sys.exit('Incorrect Authentication. Please try again.')
else:
sys.exit('manual stop1')
Вместо '<Response [401]>'
, я также пытался 'Response [401]'
, 'response [401]'
, '<Response[401]>'
, 'Response[401]'
, 'response[401]'
, '[401]'
, '401'
и всех тех, без кавычки.
Я видел несколько ответов, используя флягу и json, но я надеялся не менять, как я запрашиваю данные. Спасибо!
Вы рассматривали чтение документации? http://docs.python-requests.org/en/master/ - буквально первый пример показывает, как обрабатывать коды состояния HTTP. – jonrsharpe
Похоже, вы предполагаете, что 'output' - это строка, когда это фактически класс' Response', поэтому все ваши сравнения терпят неудачу. – DaveBensonPhillips
Я новичок в python, я не понял, что код состояния был тем же, что и ответ. Теперь я знаю, спасибо. –