我在Windows 7环境中有两个网络适配器,它们都连接到Internet:
默认使用以太网适配器。
我希望通过Python脚本中的无线局域网与外部外部地址5.7.68.81建立连接。
我做了以下事情:
import pycurl, StringIO, re
c = pycurl.Curl()
c.setopt(pycurl.URL, 'http://myproxylists.com/my-http-headers')
c.setopt(pycurl.INTERFACE, "192.168.1.178")
b = StringIO.StringIO()
c.setopt(pycurl.WRITEFUNCTION, b.write)
c.setopt(pycurl.SSL_VERIFYPEER, False)
c.setopt(pycurl.SSL_VERIFYHOST, False)
c.perform()
rsp = b.getvalue()
mtch = re.search(r'REMOTE_ADDR == (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})', rsp)
print mtch.group(1)
我得到打印输出:
32.181.63.52
因此使用了默认适配器。似乎c.setopt(pycurl.INTERFACE, "192.168.1.178")
不起作用,或者我错误地使用它。
此外,我尝试了this question与urllib2
和socket.bind(('192.168.1.178', 0)
的所有答案 - 结果相同。
如何在 Windows 7 中使用Python 2.7为传出连接指定网络接口?