如何使用HTTP& HTTPS代理和OAuth2以及Python中的请求包?

时间:2017-01-20 12:04:37

标签: python api proxy python-requests oauth2

我在Python中使用requests包来调用一些API。我是公司防火墙的后面,因此我使用代理来访问API中的数据。但现在我也需要使用OAuth2。 Requests本身不支持OAuth2,我们必须使用requests-oauthlib。但是requests-oauthlib没有使用代理的选项(请参阅其documentation here)。

那么,我如何同时使用OAuth2和代理?虽然我更喜欢使用requests包来简化,但欢迎使用任何方法。

2 个答案:

答案 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内容