def setInterface(self, options):
interface, proxy, ipv6 = options["interface"], options["proxies"], options["ipv6"]
if interface and interface.lower() != "none":
self.c.setopt(pycurl.INTERFACE, str(interface))
if proxy:
if proxy["type"] == "socks4":
self.c.setopt(pycurl.PROXYTYPE, pycurl.PROXYTYPE_SOCKS4)
elif proxy["type"] == "socks5":
self.c.setopt(pycurl.PROXYTYPE, pycurl.PROXYTYPE_SOCKS5)
else:
self.c.setopt(pycurl.PROXYTYPE, pycurl.PROXYTYPE_HTTP)
self.c.setopt(pycurl.PROXY, str(proxy["address"]))
self.c.setopt(pycurl.PROXYPORT, proxy["port"])
if proxy["username"]:
self.c.setopt(pycurl.PROXYUSERPWD, str("%s:%s" % (proxy["username"], proxy["password"])))
if ipv6:
self.c.setopt(pycurl.IPRESOLVE, pycurl.IPRESOLVE_WHATEVER)
else:
self.c.setopt(pycurl.IPRESOLVE, pycurl.IPRESOLVE_V4)
if "auth" in options:
self.c.setopt(pycurl.USERPWD, str(options["auth"]))
if "timeout" in options:
self.c.setopt(pycurl.LOW_SPEED_TIME, options["timeout"])
python类INTERFACE的实例源码
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'])