我正在使用帖子请求来访问需要身份验证的网站。如果该身份验证不正确,我会收到响应[401]。我想测试身份验证是否不正确,如果是,则中止进程并显示某种错误。我不知道测试响应是否为401的语法。
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]'
,{{1},而不是'response[401]'
。 },'[401]'
以及所有没有引号的人。
我已经看到使用flask和json的一些回复,但我希望不必改变我请求数据的方式。谢谢!
答案 0 :(得分:3)
您需要status_code
属性
if output.status_code == 401:
...
或者为了避免硬编码:
if output.status_code == requests.status_codes.codes.UNAUTHORIZEDD:
....