- 866 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 22:13:20 ]
- LWP::UserAgentとHTTP::Requestで簡単なhttpクライアントを作っています。
$ua = LWP::UserAgent->new; $req = HTTP::Request->new(GET => 'ja.wikipedia.org/wiki/Perl'); $req->push_header('User-Agent' => 'Mozilla/4.0'); $ua->request($req); を実行すると、パケットキャプチャの結果 GET /wiki/Perl HTTP/1.1 TE: deflate,gzip;q=0.3 Connection: TE, close Host: ja.wikipedia.org User-Agent: Mozilla/4.0 という設定していない"TE"を含むリクエストを投げつけています。 この"TE"を含まないリクエストを投げたいときにはどのようにするのが簡単で自然でしょうか? (パケットキャプチャをする都合上、圧縮はして欲しくないです) ソースを読んだところ、LWP::Protocol::httpにてSendTE => 1という値を設定していて、 巡り巡ってNET::HTTP::Methodsでその値を参照して有効(1)ならば push(@h2, "TE: deflate,gzip;q=0.3"); push(@connection, "TE"); をするという処理をしていました。 ttp://questionbox.jp.msn.com/qa1758666.html?StatusCheck=ON には >LWP::Protocol::httpモジュールのソースファイル40行目付近を改造(SendTE => 1を0)し とありますが、それだけはしたくないです・・・
|

|