我在Python中使用requests
包来调用一些API。我是公司防火墙的后面,因此我使用代理来访问API中的数据。但现在我也需要使用OAuth2。 Requests
本身不支持OAuth2,我们必须使用requests-oauthlib
。但是requests-oauthlib
没有使用代理的选项(请参阅其documentation here)。
那么,我如何同时使用OAuth2和代理?虽然我更喜欢使用requests
包来简化,但欢迎使用任何方法。
答案 0 :(得分:2)
requests-oauthlib提供的会话对象继承自request.Session,因此您可以像在实例化的proxies
上一样在它们上指定requests.Session()
:
from requests_oauthlib import OAuth2Session
session = OAuth2Session(...)
session.proxies = {'all': 'http://my.proxy.url:3128'}
session.fetch_token(...)
答案 1 :(得分:0)
我建议修改requests-oauthlib以支持代理或直接使用请求API,因为编写oauth客户端并不困难。它是相同的标准HTTP内容