def set_interface(self, options):
interface, proxy, ipv6 = options[
'interface'], options['proxies'], options['ipv6']
if interface and interface.lower() != "none":
self.setopt(pycurl.INTERFACE, interface)
if proxy:
if proxy['type'] == "socks4":
self.setopt(pycurl.PROXYTYPE, pycurl.PROXYTYPE_SOCKS4)
elif proxy['type'] == "socks5":
self.setopt(pycurl.PROXYTYPE, pycurl.PROXYTYPE_SOCKS5)
else:
self.setopt(pycurl.PROXYTYPE, pycurl.PROXYTYPE_HTTP)
self.setopt(pycurl.PROXY, proxy['host'])
self.setopt(pycurl.PROXYPORT, proxy['port'])
if proxy['username']:
userpwd = "{0}:{1}".format(
proxy['username'], proxy['password'])
self.setopt(pycurl.PROXYUSERPWD, userpwd)
if ipv6:
self.setopt(pycurl.IPRESOLVE, pycurl.IPRESOLVE_WHATEVER)
else:
self.setopt(pycurl.IPRESOLVE, pycurl.IPRESOLVE_V4)
if "timeout" in options:
self.setopt(pycurl.LOW_SPEED_TIME, options['timeout'])
if "auth" in options:
self.setopt(pycurl.USERPWD, self.options['auth'])
评论列表
文章目录