我在Windows 7环境中有两个networking适配器,并且它们都连接到Internet:
以太网适配器默认使用。
我想在Python脚本中通过无线局域网与传出的外部地址5.7.68.81build立连接。
我做了如下:
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")
不起作用,或者我用它错误的方式。
此外,我试着用urllib2
和socket.bind(('192.168.1.178', 0)
这个问题的所有答案 – 相同的结果。
如何在Windows 7中使用Python 2.7为传出连接指定networking接口?
检查这些例子 。 你可以看到选项的用法。