无法使用带有 httplib 的代理连接到 google 目录-api
Can't connect to google directory-api using proxy with httplib
我已经准备好我的脚本来管理 google 中的用户,但是无论如何我找不到使用 httplib2 的代理,因此我经常切换到移动设备以避免手动执行任务。
供参考,所有代码均来自快速入门:https://developers.google.com/admin-sdk/directory/v1/quickstart/python
简化为:
credentials = gi.get_credentials()
http = credentials.authorize(httplib2.Http())
service = gi.discovery.build('admin', 'directory_v1', http=http)
print('Starting user OU management')
我找到了这个,但它似乎不适用于 HTTP 代理
http = credentials.authorize(httplib2.Http(httplib2.ProxyInfo(httplib2.socks.PROXY_TYPE_HTTP_NO_TUNNEL, 'proxy.example.com', 8080, proxy_user = 'username', proxy_pass = 'password') ))
代理信息:
- 主持人:wpad
- 端口:8080
- HTTP 和 HTTPS 流量使用相同的代理
- 无授权
编辑:找到这个https://github.com/jcgregorio/httplib2/wiki/Examples-Python3
Proxy support is unavailable until the third-party socks module is ported to Python 3.
那么还有其他的 http 库可以使用吗??
谢谢
编辑 2:与 google 交谈,显然 3.5 根本不受支持,但这并不能解决我的 python 的 httplib2 问题3.*
实际上,我发现了这些仍未解决的相关问题:
- httplib2 - issue #38
- Proxy support not working with squid proxy #38
- urlfetch cannot be used behind a proxy
您可能还想查看他们关于他们的讨论,希望您能找到一些有用的想法。
感谢大家的帮助 - 不幸的是,google(公司或其结果)都没有任何解决方案,随着年末的临近,我没有时间通过我的手机 运行 所有任务。
如果有人对 "fix" 感兴趣:我只是回到 python2.7 并用 2.x 等价物替换了一些 {**foo} 类型的语句。
干杯
我认为您应该尝试使用 httplib2shim 而不是 httplib2
您可以在我的博客上查看此教程:https://dinatam.com/fr/python-3-google-api-proxy/
简单来说,就是替换这种代码:
from httplib2 import Http
http_auth = credentials.authorize(Http())
来自这个:
import httplib2shim
http_auth = credentials.authorize(httplib2shim.Http())
我已经准备好我的脚本来管理 google 中的用户,但是无论如何我找不到使用 httplib2 的代理,因此我经常切换到移动设备以避免手动执行任务。
供参考,所有代码均来自快速入门:https://developers.google.com/admin-sdk/directory/v1/quickstart/python
简化为:
credentials = gi.get_credentials()
http = credentials.authorize(httplib2.Http())
service = gi.discovery.build('admin', 'directory_v1', http=http)
print('Starting user OU management')
我找到了这个,但它似乎不适用于 HTTP 代理
http = credentials.authorize(httplib2.Http(httplib2.ProxyInfo(httplib2.socks.PROXY_TYPE_HTTP_NO_TUNNEL, 'proxy.example.com', 8080, proxy_user = 'username', proxy_pass = 'password') ))
代理信息:
- 主持人:wpad
- 端口:8080
- HTTP 和 HTTPS 流量使用相同的代理
- 无授权
编辑:找到这个https://github.com/jcgregorio/httplib2/wiki/Examples-Python3
Proxy support is unavailable until the third-party socks module is ported to Python 3.
那么还有其他的 http 库可以使用吗??
谢谢
编辑 2:与 google 交谈,显然 3.5 根本不受支持,但这并不能解决我的 python 的 httplib2 问题3.*
实际上,我发现了这些仍未解决的相关问题:
- httplib2 - issue #38
- Proxy support not working with squid proxy #38
- urlfetch cannot be used behind a proxy
您可能还想查看他们关于他们的讨论,希望您能找到一些有用的想法。
感谢大家的帮助 - 不幸的是,google(公司或其结果)都没有任何解决方案,随着年末的临近,我没有时间通过我的手机 运行 所有任务。
如果有人对 "fix" 感兴趣:我只是回到 python2.7 并用 2.x 等价物替换了一些 {**foo} 类型的语句。
干杯
我认为您应该尝试使用 httplib2shim 而不是 httplib2
您可以在我的博客上查看此教程:https://dinatam.com/fr/python-3-google-api-proxy/
简单来说,就是替换这种代码:
from httplib2 import Http
http_auth = credentials.authorize(Http())
来自这个:
import httplib2shim
http_auth = credentials.authorize(httplib2shim.Http())