테스트를 위해 웹 사이트에 요청을 보내야합니다 - perl lwp를 사용할 때 unfortunatly "connection"헤더가 호스트에 나타납니다. 결과적으로 요청은 웹 응용 프로그램 방화벽에 의해 필터링됩니다. 내가 필요한 것은 헤더의 연결 라인을 제거하거나 제거하는 것입니다. 난 내 스크립트로 requets 작업을 수행 할 때 :Perl의 LWP에서 보낸 HTTP 요청 헤더 순서를 변경하려면 어떻게해야합니까?
GET /test.html?... HTTP/1.1
Connection: close
Host: www.test.com
User-Agent: whateva
Cookie: XXXX
그러나 (conenction 호스트 뒤에 오는) 작업을 다음과 같아야합니다 :
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
Host: www.test.com
Connection: close
User-Agent: whateva
Cookie: XXXX
LWP에서 어떻게 연결선을 없앨 수 있습니까? 나는 단지 그것을 다시 생각할 필요가있다 .... 그것이 완전하게 제거 될 필요가 없다. 나중에 다시 추가하여 기쁘게 생각합니다.
# $userAgent->default_header ("Connection" => "keep-alive");..
Thx 미리 알려주세요.
내 코드의 버그가 수정되었습니다. – ikegami