テストのために、ウェブサイトへのリクエストを取得する必要があります-残念ながら、perl lwpを使用すると、ホストのヘッダーb4に「接続」が表示されます。その結果、リクエストは Web アプリケーション ファイアウォールによってフィルタリングされます。必要なのは、ヘッダーの接続行を削除または下に移動することだけです。スクリプトで requet を実行すると、次のようになります。
use warnings;
use IO::Socket;
use LWP::UserAgent;
use LWP::Protocol::http;
use HTTP::Request;
my $ua = LWP::UserAgent->new();
push(@LWP::Protocol::http::EXTRA_SOCK_OPTS, SendTE => 0, PeerHTTPVersion => "1.1");
$ua->default_header(Cookie => 'XXX', User-Agent => 'whateva');
my $request = $ua->get('https://www.test.com/test.html?...');
....
ヘッダーは次のようになります。
GET /test.html?... HTTP/1.1
Connection: close
Host: www.test.com
User-Agent: whateva
Cookie: XXXX
しかし、それは動作するように見えるはずです(接続はホストの後に来ます):
GET /test.html?... HTTP/1.1
Host: www.test.com
Connection: close
User-Agent: whateva
Cookie: XXXX
LWP でその接続線を取り除くにはどうすればよいですか? 私はそれを再注文する必要があります....完全に削除する必要があるわけではありません。後でもう一度追加していただければ幸いです。
# $userAgent->default_header ("Connection" => "keep-alive");..
かなり前にThx!