python request.get禁止给出403,而该URL在浏览器中是完美的。为什么?

问题描述 投票:0回答:2

我有代码来获取需要身份验证的特定网页的json,例如

dummy_url = "some url with some parameter like offset"
obj = requests.get(dummy_url.format(offset=0),auth=("#MyUserName","#MyPassword"))
required_json = obj.json()

[如果我在chrome / firefox等浏览器中输入url,我会得到所需的页面,但是如果我使用上面的代码,则会得到403禁止错误。

希望以某种方式解决它...:}

预先感谢:}

python http-status-code-403 get-request
2个回答
0
投票

可能对您有帮助:

   import base64, urllib2, json
   username = 'your_username'
   password = 'your_password'
   request = urllib2.Request(dummy_url )
   base64string = base64.b64encode('%s:%s' % (username, password))
   request.add_header("Authorization", "Basic %s" % base64string)

   response = urllib2.urlopen(request)
   record = json.loads(response.read())
   print("My JSON:", record)

Link

https://docs.python.org/2/library/urllib2.html


0
投票

仅作为简短提示,要调试网络协议,请使用wireshark并查看所生成请求的信息。

© www.soinside.com 2019 - 2024. All rights reserved.