取得したプロキシの生存確認方法

このQ&Aのポイント
  • 取得したプロキシの生きているかどうかを確認する方法について質問させていただきます。
  • プロキシの設定には、取得したプロキシのホストとポートを指定していますが、プロキシの寿命が短いと聞いたため、使用可能かどうかを判断したいと考えています。
  • 一般的な方法はわかりませんが、取得したプロキシの生存確認にはどのような方法がありますか?知っている方がいらっしゃいましたら、ご教示いただけると幸いです。
回答を見る
  • ベストアンサー

取得したプロキシが生きているかの確認方法

質問させて頂きます。 質問の内容に関しては、タイトルの通り取得したプロキシが問題なく使えるかの判断方法に関してです。 まず、現在下記の方法を使用してプロキシの設定を行っております。 <?php $proxy = array( "http" => array( "proxy" => "tcp://プロキシHOST:ポート", 'request_fulluri' => true, ), ); $proxy_context = stream_context_create($proxy); echo file_get_contents("http://・・・/",false,$proxy_context); ?> 「"proxy" => "tcp://プロキシHOST:ポート",」の部分にプロキシ一覧から取得したものを設定しているのですが、1つのプロキシの寿命はそんなに長くないと聞いたので、取得したプロキシが使用可能か判断したうえで設定を行いたいと考えています。 一般的?な方法があるのかはわからないのですが、取得したプロキシが生きているかの判断はどのような方法を行えばよろしいのでしょうか? ご存知の方がいらっしゃましたら、どうかよろしくお願いいたします。 また、質問におかしな点などがあればご指摘下さい。 よろしくお願いします。

  • PHP
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • luka3
  • ベストアンサー率74% (303/406)
回答No.2

生きているかどうかの判定は実際にアクセスしてみるしかないと思います。 自分しか知らないURLにプロクシ経由でアクセスして、正しい結果が返ってくれば「生きている」と言えると思います。 ≫1つのプロキシの寿命はそんなに長くない ということは、第三者が公開しているプロクシのことですかね。 くれぐれも気をつけてご利用くださいね。

non05410
質問者

お礼

回答ありがとうございました。 if(@file_get_contents('http://・・・',false,'プロキシ')){} といった感じで判断するようにしてみました。 危ないという意見が多いので少し考えてみたいと思います。 ありがとうございました。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

定期的にポートスキャンするとか? インチキくさいプロクシを通すのはあまりお勧めできないですが

non05410
質問者

お礼

今回はシンプルに判断するようにしました。 オススメ出来ないと皆さん言われているので、 少し考えたいと思います。 本当にありがとうございました!

関連するQ&A

  • file_get_contents()で文字化けしてしまう

    file_get_contents()で文字化けしてしまう お世話になります。 職場の環境でプロキシ経由でないと外部ファイルを読み込めないということなので プロキシ経由でファイルを読みこもうとして http://blog.umeyama.org/2009/06/php-proxy.html を参考に $csvscj="http://xxxx/yyy/zzz.csv"; $proxy = array( "http" => array( "proxy" => "tcp://proxy:port", "request_fulluri" => true, ) ); $sc = stream_context_create($proxy); $FileList=file_get_contents($csvscj,false,$sc); $FielList = mb_convert_encoding($FielList, "UTF-8", "SJIS"); echo '$FileList='.$FileList; $csvscjはShiftJISのcsvファイルです。 このようにechoで$FileListを表示してみると、半角文字以外は文字化けしてしまいます。 mb_convert_encoding()をレム文にしても同じ結果です。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • プロキシを経由して他サイトのデータを取得する

    プロキシを経由して他サイトのHTMLファイルを取得しようとしているのですがうまくいきません。 私がためしたのはLWP::UserAgentを用いた方法で my $uap = LWP::UserAgent->new; $ENV{HTTP_PROXY} = 'http://proxy:8080'; $ENV{FTP_PROXY} = 'http://proxy:8080/'; $ENV{HTTP_PROXY_USERNAME} = 'name'; $ENV{HTTP_PROXY_PASSWORD} = 'pass'; $uap->env_proxy(); という感じです。 プロキシ内のページからは普通にHTMLファイルが取得できますがプロキシ外はまったく取得できません。 良い方法があったら教えて下さい。お願いします。

    • ベストアンサー
    • Perl
  • 素早くプロキシ設定する方法

    win7でproxyサーバの設定をツール→インターネットオプション→接続→LANの設定で行なっていますが簡単に接続する方法が有りましたら教えてください、CyberSyndrome一発プロキシ設定、 Prxman(Proxy Address Manager)、あの荷物風呂敷等を試したのですがWin7ではうまく動作いたしません 他に素早くプロキシ設定する方法が有れば教えてください。

  • プロキシ

    最近、プロキシについて「教えて!goo」でいろいろ調べていましたら 「診断くん」という自分のIPなどが分かるサイトにたまたま行き着きました。 するとそのサイトの下の方に 「優れたproxyです。しかし proxy 特有の情報が散見されますので  場合によってはアクセス拒否されることがあるかもしれません。」 と表示が出ました。 しかし、その時点ではプロキシは使用しない設定(のはず?)だったので なぜそうゆう表示がされたのかよく分からない始末です。 どうしてこのような表示がされてしまったのでしょうか? まだプロキシやそれに関係することについて 十分に理解しきれてるとは言えないので、 何か見落としてることがあるかもしれません。 ゆえに質問として内容が不十分かもしれませんが宜しくお願いします。

  • flickrでの画像を取得について

    次の関数はflickr.interesting.getListでflickrから人気の高い画像を取得する関数ですが、パラメータのdateを指定すると Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\flickr-interesting.php on line 34 と表示されます。 date => 2013-07-24,の行を消すと画像が正常に表示されます。 dateを指定するにはどうすればいいでしょうか? function search_photos($per_page, $page) { $proxy = array( "http" => array( "proxy" => "tcp://大学のIPアドレス", 'request_fulluri' => true, ), ); $proxy_context = stream_context_create($proxy); $params = array( 'method' => 'flickr.interestingness.getList', 'api_key' => API_KEY, 'date' => 2013-07-24, 'per_page' => $per_page, 'page' => $page ); $pictureSize = "b"; $query = http_build_query($params, '', '&'); $url = 'http://www.flickr.com/services/rest/?' . $query; //$data = @simplexml_load_string(@file_get_contents($url)); $data = @simplexml_load_string(@file_get_contents($url, false, $proxy_context)); if ($data === false) { return 'エラー' . PHP_EOL; } $ret = ''; $format = '<a href="http://www.flickr.com/photos/%s/%s/"><img src="http://farm%s.static.flickr.com/%s/%s_%s_m.jpg" alt="%s"></a>' . PHP_EOL; foreach ($data->photos->photo as $p) { $ret .= sprintf($format, $p['owner'], $p['id'], $p['farm'], $p['server'], $p['id'], $p['secret'], $p['title'], $pictureSize); } return $ret; }

    • ベストアンサー
    • PHP
  • セカンドライフでプロキシの設定はできますか?

    Second Lifeをproxyのあるネットワーク環境で使用したいのですが、ネットワークの設定は、どこでできますか? ポートを指定して、プロキシに穴を開けたとしても、プロキシを参照しないとインターネットに接続できないです。 そのまま接続しようとしてみたら、当然、ネットワークのエラーが次のメッセージがでました。 「サーバーに接続できません。 ドメイン名を解明できませんでした: userserver.agni.lindenlab.com あなたのネットワーク接続をチェックしてください。」 英語環境での接続だと以下のようなエラーメッセージが出ます。 「Unable to connect to server. Could not resolve domain name: userserver.agni.lindenlab.com Please check your network connection.」) ユーザーは、他の環境でログインできているものです。 公式サイトのFAQに、ファイアウォールのポート指定があったので、そのポートはあけてあります。 「Second Life は、ポート 443/TCP および 12043/TCP, 12035/UDP, 12036/UDP, 13000-13050/UDP に接続する必要があります。 上記のポートのアウトバウンド トラフィックと関連インバウンド トラフィックを許可するようにファイアウォールを設定してください。 」 http://secondlife.com/world/jp/whatis/faq.php#18 http://www.atmarkit.co.jp/fsecurity/rensai/securitytips/042proxy.html を参考に、WindowsのAdminにプロキシの設定をしてみたり、 regedit.exeで、\HKEY_LOCAL_MACHINE\SOFTWARE\Linden Research, Inc.\SecondLifeやHKEY_CLASSES_ROOT_secondlife\DefaultIconに名前[ProxyServer]、値[proxy.xxx.jp:80]を追加してみたり、してみましたが、どれも認識しませんでした。 何かいい方法はないでしょうか。

  • RubyGemについて。プロキシ設定の方法

    はじめまして。 現在Rubyの勉強を始めたばかりの初心者です。 学校内の環境でRubyのGemUpdateを行おうとしたところ ---------------------------------------------------- Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\pc006>gem update --system Updating RubyGems... ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError) 既存の接続はリモート ホストに強制的に切断されました。(Errno::ECONNRESET) ---------------------------------------------------- となります。 学内にはプロキシが入っているので、その設定をすれば きっと解決できると思ったのですが、プロキシ自体のうまくいきません。 プロキシの設定方法を調べて試してみた方法は以下になります。 試してみた方法(1) ---------------------------------------------------- スタートメニューから「コントロールパネル -> システム -> 詳細設定 -> 環境変数」 1. 環境変数 http_proxy を加えてください。あなたのプロキシサーバ(「http://」 とプロキシポート) 例えば、"http://proxy.example.org:8080" ---------------------------------------------------- 試してみた方法(2) ---------------------------------------------------- C:\Documents and Settings\pc006>export http_proxy=http://192.168.5.206:8080/ 'export' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 ---------------------------------------------------- 試してみた方法(3) ---------------------------------------------------- C:\Documents and Settings\kcc006>gem update --system -p http://192.168.5.206:8080/ ERROR: While executing gem ... (NoMethodError) undefined method `[]=' for #<Gem::ConfigFile:0x2d06cac> ---------------------------------------------------- やっぱりうまくいきません。 どなたか解決方法をご存知のはいらっしゃらないでしょうか。 よろしくお願いいたします。

  • Lunascape2のプロキシ設定方法

    Lunascape2のLite使ってますが・・プロキシの設定方法が全くわかりません。IEの設定:直接接続とあります。でお気に入りのフォルダーの各種設定内にプロキシフォルダーがありそこから設定すると説明がありますがその後の詳細な図解説明などは無く・・その先の設定方法が全くわかりません。 右クリで新規リンクの追加 →上部にタイトル名で下に下記の一覧表で・・ 種類(H)(S)(F)(g)(C) 使用するプロキシアドレス★ポート チェック項目→全てのプロトコルで同じプロキシサーバーを使用する★ローカルアドレスにはプロキシを通さない ・・そこに下記プロキシを設定するらしいですが 194.235.141.25:80 195.58.102.60:80 195.58.102.61:8080 どう設定するのか全く分かりません。 もちろんサポート掲示板にも書き込みましたが全く返答が来ません。ここなら詳しくご存知の方がいると思い質問してみました。

  • プロキシサーバーを使用のための、アドレスとポート番号

    PCのリモートコントロールを行うため、プロキシサーバーを使用したいのですが、設定方法が解りません。 Internet Explorer6.0のインタネットオプション→接続を選び、設定をクリックして、プロキシサーバーの欄の、この接続にプロキシサーバーを使用するにチェックマークを入れました。 次いで、アドレスとポートを入れないといけませんが、具体的に何を入れればいいのでしょうか。 IPGetX.exeを使うと自PCのIPアドレスが取得出来ますが、ポートが分かりません。 教えてください。

  • プロキシについて教えてください。

    (特にネットワーク関連の仕事などをしている者ではありませんが、プロキシの設定について もう少し知識を得たいとの思いからお尋ねするものです。よろしくお願いします。) 「プロキシの設定」に<Secure>と言う項目があります。 これは、「ショッピングサイトなどSSLで保護されたページにアクセスする際、 このポートが使用される」と考えてよろしいのでしょうか?