【发布时间】:2016-03-16 23:08:29
【问题描述】:
我正在使用发布请求来访问需要身份验证的网站。如果该身份验证不正确,我会收到响应 [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]'、'response[401]'、'[401]'、'401',以及所有没有引号的。
我已经看到一些使用烧瓶和 json 的响应,但我希望不必更改我请求数据的方式。谢谢!
【问题讨论】:
-
您考虑过阅读文档吗? docs.python-requests.org/en/master - 从字面上看,第一个示例显示了如何处理 HTTP 状态代码。
-
看起来你假设
output是一个字符串,而它实际上是一个Response类,这就是你所有比较失败的原因。 -
我是 python 新手,我没有意识到状态码与响应是一回事。现在我知道了,谢谢。
标签: python authentication http-status-code-401