使用Python Requests模块连接VPN

12

我有以下问题。 我需要检查某些url是否正常工作并返回正确的响应。我想使用Python requests来实现这一点。然而,如果设备或地理位置不正确,则URL会重定向,而我们需要检查许多移动站点和多个地理位置。

有没有办法通过VPN与Python请求一起工作?

编辑: 我忘记提到,这是针对Ubuntu 14.04服务器的。所以不是家用电脑。在我的笔记本电脑上,我使用HideMyAss和IpVanish,但我想在我的服务器上运行cron作业自动检查它。我不需要隐藏任何信息,因此也可以使用代理。


4
你可以在电脑上设置VPN,这样所有的连接都会通过VPN进行。这样,你的Python请求也会通过VPN进行。 - Patrick Kostjens
不,那行不通。我认为下面的答案才是正确的方法。 - user7157075
1个回答

9
根据您所使用的操作系统,以下选项可供选择:
  1. 如果使用OS X:使用苹果公司的Automator脚本来切换VPN连接(前提是事先设置好)。然后,您可以使用一个bash脚本来包装您的python脚本并切换连接(例如基于URL)。
  2. 使用代理列表(而非VPN)。这是最简单的解决方案。
  3. 使用自定义VPN连接管理,类似于此:https://gist.github.com/domenkozar/1547663。不过,这个选项需要大量的工作。

1
谢谢你指引我使用代理而不是VPN。这确实是一个选项。然而,我发现可用的HTTP代理并不多,而且sock4/5似乎也无法工作。有没有办法让requests支持sock4/5呢? - user3605780
2
@user3605780,您可以使用最新版本2.10.0,但必须更新。之前的版本只支持http和https代理。 - Nuno André

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接