通常是否可以仅在 Python 脚本范围内使用 OpenVPN 连接?例如有这样的东西import some_ovpn_library as solwith sol.connection(config=config): # OpenVPN connection is only active for this part of the script and not for anything else that is running in parallel on the same server do_something谢谢!
3 回答
呼如林
TA贡献1798条经验 获得超3个赞
您可以尝试将 openVPN 连接作为进程并在脚本末尾将其终止,如下所示:
cmd = 'start /b cmd /c "C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --connect config.ovpn'
args = shlex.split(cmd)
x = subprocess.Popen(args, shell=True)
...
...
...
try:
x.kill()
except:
pass
使示例适应您的操作系统很容易。
潇湘沐
TA贡献1816条经验 获得超6个赞
不。网络功能在内核中,并且对所有进程都以相同的方式工作。
在 Linux 中,您可能会使用 iptables 做一些技巧(例如,根据进程 ID 标记数据包,使用不同的路由表等),但这并不是一个真正的好方法。如果您需要这样的隔离,请考虑在单独的虚拟机中运行 Python 程序。
不过,您可以从 Python 控制 openvpn - 运行它、启动它或停止它。
有只小跳蛙
TA贡献1824条经验 获得超8个赞
如果您使用 OpenVPN 作为代理,这是可能的
import requests
proxies = {
'http': 'http://your.proxy.addres:port',
}
r = requests.get('http://somesite.com', proxies=proxies)
添加回答
举报
0/150
提交
取消