![](/img/trans.png)
[英]Python3, can't set socks proxy with chromedriver (socks.py type integer error)
[英]Socks set_default_proxy throws an error on Ubuntu but not on OSX or Windows
这是导致错误的我的代码部分。 它可以在OSX和Windows上正常运行。
def sslwrap(func):
@wraps(func)
def bar(*args, **kw):
kw['ssl_version'] = ssl.PROTOCOL_TLSv1
return func(*args, **kw)
return bar
ssl.wrap_socket = sslwrap(ssl.wrap_socket)
if sys.platform == "darwin":
requests.packages.urllib3.disable_warnings()
socks.set_default_proxy(socks.SOCKS5, "127.0.0.1", 4050)
socket.socket = socks.socksocket
这是我在Ubuntu服务器上遇到的错误:
追溯(最近一次通话最近):文件“ new.py”,第42行,在socks.set_default_proxy(socks.SOCKS5,“ 127.0.0.1”,9050)中AttributeError:'module'对象没有属性'set_default_proxy'
有什么想法吗? 很可能是sockspy库中的错误?
看起来函数socks.set_default_proxy(...)
最近已重命名; 该库的先前版本将其拼写为不带下划线,例如socks.setdefaultproxy(...)
。 您的Ubuntu服务器上可能已安装了这些早期版本之一。
您有时可以通过尝试两种方法名称的拼写来解决此问题,如下所示:
try:
sdp = socks.set_default_proxy
except AttributeError:
sdp = socks.setdefaultproxy
sdp(socks.SOCKS5, "127.0.0.1", 4050)
有时强调; 仅凭SocksiPy的API随时间推移以及一系列不同的维护者而发生了重大变化,仅凭此点可能还不够。
来源:查阅PySocks README , socksipy-x README及其之前的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.