PYTHON:请求和响应 401

新手上路,请多包涵

我的身份验证有点问题。我正在编写一个脚本,它从用户那里获取登录名和密码(从键盘输入),然后我想从网站上获取一些数据(http 而不是 https),但是每次我运行脚本时,响应都是 401。我读了来自堆栈的一些类似帖子,我尝试了这个解决方案:

解决方案 1

 c = HTTPConnection("somewebsite")
userAndPass = b64encode(b"username:password").decode("ascii")
headers = { 'Authorization' : 'Basic %s' %  userAndPass }
c.request('GET', '/', headers=headers)
res = c.getresponse()
data = res.read()

方案二

with requests.Session() as c:
    url = 'somewebsite'
    USERNAME = 'username'
    PASSWORD = 'password'
    c.get(url)
    login_data = dict(username = USERNAME, password = PASSWORD)
    c.post(url,data = login_data)
    page = c.get('somewebsite', headers = {"Referer": "somwebsite"})
    print(page)

解决方案 3

 www = 'somewebsite'
value ={'filter':'somefilter'}
data = urllib.parse.urlencode(value)
data=data.encode('utf-8')
req = urllib.request.Request(www,data)
resp = urllib.request.urlopen(req)
respData = resp.read()
print(respData)
x = urllib.request.urlopen(www,"username","password")
print(x.read())'

我不知道如何解决这个问题。有人可以给我一些链接或提示吗?

原文由 MB_YD 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 544
1 个回答

您是否尝试过请求中的 基本身份验证 示例?

 >>> from requests.auth import HTTPBasicAuth
>>> requests.get('https://api.github.com/user', auth=HTTPBasicAuth('user', 'pass'))
<Response [200]>

原文由 Alex Taylor 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题