如何在python请求中处理401(未授权)

Dav*_*ton 2 python python-requests

我要做的是从站点获取,如果该请求返回401,请重做我的身份验证摆动(可能已过期),然后重试。但是我不想第三次尝试,因为那将是我的身份验证摆动具有错误的凭据。有没有人有一个很好的方法来执行此操作,而不涉及适当的丑陋代码,最好是在python请求库中,但是我不介意更改。

Jos*_*ino 5

我认为这并不比这更丑陋:

import requests
from requests.auth import HTTPBasicAuth

response = requests.get('http://your_url')

if response.status_code == 401:    
    response = requests.get('http://your_url', auth=HTTPBasicAuth('user', 'pass'))

if response.status_code != 200:
    # Definitely something's wrong
Run Code Online (Sandbox Code Playgroud)

  • 我还不会接受;我意识到你和我是世界上最聪明的两个人,但可能只有另一个几乎和我们一样聪明的人找到了更好的方法;-) (2认同)
  • 看来我们绝对是世界上**最**的人。 (2认同)
  • 世界确实比我想象的更糟糕! (2认同)