cURL通过OpenVPN或PPTP

Rya*_*yan 11 php curl

有没有办法通过VPN(如OpenVPN或PPTP)执行cURL请求?

我知道我可以使用代理,但VPN是不同的.

geo*_*sey 12

编辑:2013年7月

我收到了一些关于此的电子邮件,所以我把它全部写进了博客文章:http: //www.georgiecasey.com/2013/07/26/how-to-use-overplay-and-other-vpns-as-一个卷曲代理/


是的,但首先您要在单独的界面上设置VPN,以便整个服务器不使用VPN.我不是OpenVPN专家,但我使用dev交换机来指定TUN/TAP虚拟网络设备:dev proxy1.有关OpenVPN手册页的更多信息.

然后在脚本中使用这一行PHP代码.

curl_setopt($ch, CURLOPT_INTERFACE, "proxy1");
Run Code Online (Sandbox Code Playgroud)

我这样做了所以我可以使用overplay.net的所有IP 来抓取我的服务器上的东西.这些IP经常变化所以我有一个cronjob拉取IP的zip文件,为每个IP创建一个OpenVPN配置文件,启动每个VPN并将所有IP和接口名称放在DB表中.然后我的脚本只是从数据库中提取随机接口名称并在卷曲中使用它.做了一个享受.


phi*_*hag 7

cURL只是使用操作系统的网络堆栈,而不是自己实现TCP(或更低级别的协议).

因此,当操作系统配置为通过虚拟适配器路由网络通信时,无论该适配器如何实现,它都可以正常工作.