windows - 如何在Windows 7下强制在Python中传出连接的特定网络接口(interface)?

标签 windows pycurl network-interface

我在Windows 7环境中有两个网络适配器,它们都连接到Internet:
以太网适配器(本地地址10.9.187.251,外部地址32.181.63.52)
无线局域网适配器(本地地址192.168.1.178,外部地址5.7.68.81)
默认情况下使用以太网适配器。
我想通过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的答案,结果都是相同的。
如何在Windows7中使用Python2.7为传出连接指定网络接口?

最佳答案

检查这些Examples。你可以看到选项用法。

关于windows - 如何在Windows 7下强制在Python中传出连接的特定网络接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14546486/

相关文章:

c# - 我能否始终确定通过 FindWindowEx 找到的控件的层次顺序?

c - 如何使用 TUN/TAP 接口(interface)在两个进程之间发送数据包?

linux - 需要为网络接口(interface)创建一个 monit cfg

linux - 'ln' 脚本出现一些错误

windows - 在 Windows 上的 mongorc 中设置 mongodb 编辑器路径

c - ReadFile 为 "completing asynchronously"意味着什么,为什么它是一个错误?

python - 使用 'fatal error: gnutls/gnutls.h: No such file or directory' 安装 pycurl

python - 在 ActivePython-2.6 中安装 pyCurl?

python - 构建 docker 镜像时出错,出现错误 : Failed to build wheel for pycurl(setup. py)

php - 用 phpseclib 重启 nic 挂起整个 apache