PHPでプロキシ経由で他サーバーに接続
2018/04/24
PHPでfile_get_contentsやcurlで他サーバに接続する際に自サーバのIPは隠したかった。かといって偽装するのも難しいとのこと。ただ、プロキシサーバーを経由することで対応可能。以下に対応方法をメモ。
file_get_contentsの場合
1 2 3 4 5 6 7 8 9 |
$url = 'http://hogehoge.com'; $option = array( 'http' => array( 'proxy' => 'tcp://プロキシIP:プロキシポート番号', 'request_fulluri' => true, ), ); $proxy = stream_context_create($option); $result = file_get_contents($url, false, $proxy); |
curlの場合
1 2 3 4 5 6 7 |
$url = 'http://hogehoge.com'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1); curl_setopt($ch, CURLOPT_PROXY, 'http://プロキシIP':'プロキシポート番号'); $result = curl_exec($ch); |
その他
「file_get_contents使用」「phpのエラー表示がON」「プロキシサーバでログイン認証の必要がある」の3つのケースが重なった場合にwarningエラーが出るので注意。
関連記事
-
-
mysqldumpが使えないレンタルサーバでMySQLのバックアップ
mysqldumpが使えないレンタルサーバで開発を行うことがあり、尚且つ他社に使 ...
-
-
PHPの配列をファイルに保存してPHPやJSで呼び出す
PHPの配列をファイルとして保存し、別のページからPHPやJavaScriptで ...
-
-
GoogleアナリティクスのデータをPHPで取得する方法
Googleアナリティクスの特定データをPHPで取得して、表示なりCSV化してほ ...
-
-
PHPからMySQLデータを取得した際に一括で配列に入れる方法
MySQLからデータを取得して、PHP側で配列に入れる際に今まで一個ずつ書いてい ...
-
-
PHPでパーミッションの変更
chmodというみたことが無いPHP関数があったのでメモ。 ■参考サイト htt ...
-
-
画像削除用function
ファイルパス、拡張子、seq番号、画像番号を渡してあげるだけ。 拡張子部分があれ ...
-
-
当選確率が異なる抽選(ガチャ)をPHPで作成
ソシャゲのガチャみたいな、当選確率が異なる抽選をPHPで作成したかった。調べたと ...
-
-
PHPとSQLiteで簡易BBSの作成
PHPとSQLiteの練習で簡易掲示板を作ったのでメモ。 &nbs ...
-
-
mPDFで「The /e modifier is …」エラー
pdf関連のPHPライブラリ「mPDF」を使っているページがエラーログにのってお ...
-
-
Basic認証がかかっているファイルをPHPで認証突破と取得
Aというサイトにあるベーシック認証がかかっているディレクトリ内のファイルを、Bと ...