• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:WWW::Mechanizeがプロシキ経由になってしまう)

WWW::Mechanizeがプロシキ経由になってしまう

このQ&Aのポイント
  • WWW::Mechanizeを使って診断君にアクセスすると判定結果が「判定:プロクシです proxy判定箇所が 1箇所、疑惑点が 2箇所ありました。」と出てしまうのですが$mech->proxy('http', $proxy);の部分をコメントにしているのにどうしてでしょうか?
  • WWW::Mechanizeを使って診断君にアクセスすると判定結果がプロクシであると出力されますが、$mech->proxy('http', $proxy);の部分をコメントアウトしているのになぜプロクシ経由になってしまうのでしょうか?
  • WWW::Mechanizeを使って診断君にアクセスするとプロクシであると判定されますが、$mech->proxy('http', $proxy);の部分をコメントアウトしているのになぜそうなってしまうのでしょうか?

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

  • ベストアンサー
  • fruit893
  • ベストアンサー率68% (15/22)
回答No.2

結果から考えますと、add_header()できちんとヘッダが登録できていないようです。他にも少し修正してみました。以下のソースコードを使えば、良い判定が出るかと思います。 さらに良い結果を望まれる場合、"HTTP_CONNECTION"を"Keep-Alive"に固定する必要があります。LWP::UserAgentモジュールの範疇では困難ですが、どうしても、ということであれば、下記のソースコードに多少手を加えた後、LWP::Protocol::httpモジュールのソースファイル40行目付近を改造(SendTE => 1を0)し、さらにNet::HTTP::Methodsモジュールのソースファイル152行目付近を改造(行頭に#を挿入)すれば所望の動作となるようです。 # ライブラリに手を加えるのはおすすめしません。 ___________________ #!/usr/bin/perl use lib "lib"; use LWP::UserAgent; use WWW::Mechanize; $proxy = "http://xxxx.xxxx.jp:80"; $site = "http://www.taruo.net/e/"; my $mech = WWW::Mechanize->new(agent => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)'); # モジュール改造の場合はkeep_alive=>1も指定する #$mech->proxy('http', $proxy); $mech->add_header(Referer => 'http://www.yahoo.co.jp'); $mech->add_header(ACCEPT => 'image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*'); $mech->add_header(ACCEPT_LANGUAGE => 'ja'); $mech->add_header(ACCEPT_ENCODING => 'gzip,deflate'); $mech->add_header(HOST => 'www.taruo.net'); $mech->add_header(CONNECTION => 'Keep-Alive'); #モジュール改造の場合は行削除 $mech->post("$site"); $html = $mech->content; print "Content-type: text/html;\n\n"; print<<endend; $html endend exit;

meikenpochi
質問者

お礼

fruit893さん、回答ありがとうございます。 試してみましたところ、結果は下記のように改善されました。 改善したいところはREMOTE_ADDRがレンタルサーバーのアドレスになってますが、これを自分のIPにするには、どうすれば良いのでしょうか? すみませんが、よろしくお願いします。 _______________________ REMOTE_HOST wwwXXX.kagoya.net  REMOTE_ADDR 210.134.54.xxx  HTTP_REFERER http://www.yahoo.co.jp  HTTP_USER_AGENT . Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) HTTP_ACCEPT . image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */* HTTP_ACCEPT_LANGUAGE . ja HTTP_ACCEPT_ENCODING . gzip,deflate HTTP_HOST . www.taruo.net その他の情報 HTTP_CONNECTION . Keep-Alive, TE, close  HTTP_TE . deflate,gzip;q=0.3 判定 wwwXXX.kagoya.net (210.134.54.xxx) 判定:プロクシです proxy判定箇所が 1箇所、疑惑点が 1箇所ありました。 漏れ判定:漏れてはいないようです 総合評価:A 極めて物静かなproxyです。proxy経由であることを示す情報がほとんどありません。

その他の回答 (2)

  • fruit893
  • ベストアンサー率68% (15/22)
回答No.3

> 改善したいところはREMOTE_ADDRがレンタルサーバーのアドレスになってますが、これを自分のIPにするには、どうすれば良いのでしょうか? 残念ながら、接続元ホストを示すREMOTE_ADDRを好きなものに変えることはできません。

  • fruit893
  • ベストアンサー率68% (15/22)
回答No.1

Proxy-Connection => 'Keep-Alive', の行を削ってみてください。

meikenpochi
質問者

お礼

fruit893さん、回答ありがとうございます。 早速、試してみたのですが結果は下記の様に 「極めて物静かなproxyです。」となってしまいました。レンタルサーバーは「かごや」さんを使っているのですが、他のサーバーならProxy経由にならないのでしょうか? ________________________________________________ REMOTE_HOST wwwXXX.kagoya.net  REMOTE_ADDR 210.134.54.xxx  HTTP_REFERER http://www.yahoo.co.jp  HTTP_USER_AGENT . Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) HTTP_ACCEPT . image/gif,image/x-xbitmap,image/jpeg,image/jpg,image/pnp,*/* HTTP_ACCEPT_LANGUAGE . ja HTTP_ACCEPT_ENCODING . gzip,deflate HTTP_HOST . www.taruo.net その他の情報 HTTP_CONNECTION . Keep-Alive, TE, close  HTTP_0 . application/x-www-form-urlencoded HTTP_TE . deflate,gzip;q=0.3 判定 wwwXXX.kagoya.net (210.134.54.xxx) 判定:プロクシです proxy判定箇所が 1箇所、疑惑点が 2箇所ありました。 漏れ判定:漏れてはいないようです 総合評価:A- 極めて物静かなproxyです。proxy経由であることを示す情報がほとんどありません。