7

我在 Windows 7 环境中有两个网络适配器,它们都连接到 Internet:

  1. 以太网适配器(本地地址 10.9.187.251,外部地址 32.181.63.52)
  2. 无线网卡(本地地址 192.168.1.178,外部地址 5.7.68.81)

默认使用以太网适配器。

我想通过 Python 脚本中的无线 LAN 与传出的外部地址 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")不起作用,或者我使用错误的方式。

我也尝试了这个问题的所有答案urllib2socket.bind(('192.168.1.178', 0)- 相同的结果。

如何在Windows 7中使用 Python 2.7 为传出连接指定网络接口?

4

0 回答 0