如何在python中测试对post请求的401响应?

时间:2016-03-16 23:08:30

标签: python authentication http-status-code-401

我正在使用帖子请求来访问需要身份验证的网站。如果该身份验证不正确,我会收到响应[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的一些回复,但我希望不必改变我请求数据的方式。谢谢!

1 个答案:

答案 0 :(得分:3)

您需要status_code属性

if output.status_code == 401:
    ...

或者为了避免硬编码:

if output.status_code == requests.status_codes.codes.UNAUTHORIZEDD:
    ....