我写了一个简单的perl代码:
use HTTP::Request::Common qw(POST);
use strict;
use warnings;
use LWP;
my $ua = new LWP::UserAgent(agent => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.5) Gecko/20060719 Firefox/1.5.0.5');
my $res = $ua->get('http://60606.com/members/search',Cookie => 'incomerr_refid=0; ff_language_id=3; _t_=1; fcode2=4139; ss_time=1527663671; PHPSESSID=otfmog35f0iva0uld1rgld2kj7; _webpush_key_=none; dinged_id=1412807; _language_id=3; _gnum_=950212; refid=1; first_key=TOCz19ls8HfkFW6LoBrIj35p4xSyYPVE; last_valid_url=https%3A//60606.com/login; ping_last=1527663675.939');
print $res->content;
但是当我运行它时我得到了这个错误:
Too many header lines (limit is 128) at C:/Perl64/lib/Net/HTTP/Methods.pm line 377
请告诉我为什么会收到此错误,我认为它适用于Cookie格式
答案 0 :(得分:1)
请告诉我为什么会收到此错误,我认为它适用于Cookie格式
错误说明标题中的行数。这与cookie标题无关,因为它只是一行。
Net::HTTP::Methods投诉的地方是when it reads the incoming response header lines。那些are set to 128 by default,但这可以用参数改变。
然而,我还没有找到一种方法来注入不同的价值。我虽然单独复制了这个问题。
$ perl -Mojo -E \
'a(sub ($c) { $c->res->headers->header("X-$_" => $_) for 1..128; $c->render(text => "Hello") })->start' \
daemon
这将为您提供localhost:3000上的服务器,该服务器响应大量标题行。如果您然后做出回应,则会出现同样的问题。
my $res = $ua->get('http://localhost:3000/');
不幸的是,这对我们没有多大帮助。