OpenVPN や PPTP などの VPN を介して cURL リクエストを実行する方法はありますか?
プロキシを使用できることは承知していますが、VPN は異なります。
編集:2013年7月
これについていくつかのメールを受け取っていたので、すべてをブログ投稿にまとめました:http: //www.georgiecasey.com/2013/07/26/how-to-use-overplay-and-other-vpns-as- a-curl-proxy /
はい。ただし、最初にVPNを別のインターフェースに設定して、サーバー全体がVPNを使用しないようにする必要があります。私はOpenVPNの専門家ではありませんがdev
、TUN/TAP仮想ネットワークデバイスを指定するスイッチを使用してこれを行いましたdev proxy1
。詳細については、OpenVPNのマニュアルページをご覧ください。
次に、この行のPHPコードをスクリプトで使用します。
curl_setopt($ch, CURLOPT_INTERFACE, "proxy1");
これを行ったのは、 overplay.netのすべてのIPを使用して、サーバー上のものをスクレイプできるようにするためです。これらのIPは頻繁に変更されるため、IPのzipファイルをプルし、IPごとにOpenVPN構成ファイルを作成し、各VPNを開始し、すべてのIPとインターフェイス名をDBテーブルに配置するcronジョブがありました。次に、私のスクリプトはDBからランダムなインターフェイス名を取得し、それをカールで使用しました。御馳走を働いた。
cURL は単にオペレーティング システムのネットワーク スタックを使用し、TCP (または下位レベルのプロトコル) 自体を実装しません。
したがって、仮想アダプターを介してネットワーク通信をルーティングするようにオペレーティング システムが構成されている場合は、そのアダプターがどのように実装されていても問題なく動作します。