0
私は次のコードを持っている:このHTTPヘッダーが印刷されないのはなぜですか?
Net::Pcap::loop($pcap, -1, \&proccess_packets, '');
sub proccess_packets {
my ($user_data, $header, $packet) = @_;
my $ip_packet = NetPacket::Ethernet::strip($packet);
my $tcp_packet = NetPacket::IP::strip($ip_packet);
my $tcp_obj = NetPacket::TCP->decode($tcp_packet);
if ($tcp_obj->{data}) {
my $request = HTTP::Request->parse($tcp_obj->{data});
my %headers = split /[:\n]/, $request->headers_as_string;
print Dumper($headers{'Accept-Language'}); # this line is printed
print $headers{'Accept-Language'}; # this line is not printed
}
}
誰かがこの行が印刷されている理由の任意の説明を持ってもらえ:
print Dumper($headers{'Accept-Language'});
、なぜこれが印刷されていない:何ができるか
print $headers{'Accept-Language'};
をここの問題?誰かが助言を与えることができますか?それはlibpcapのコールバックメカニズムに関連していますか?
あなたが持っているコードは、いくつかの理由でコンパイルされません。あなたが作業している正確なコードを投稿してください。 –
こんにちはエリック私はあなたを理解していますが、正確なコードは約1K行です。このコードスニペットを再度改訂して、もっと明確になることを期待しています。 – johnny2
[サンプルコード](http://sscce.org)は自己完結型で完全でありながら簡潔であり、テスト可能です。最小のテストケースを作成するためにサンプルを記入するだけで、オリジナルを投稿する必要はありません。この問題は、表示されていないコードと関係している可能性があります。サンプルを完成させるためにコードを追加する必要がある場合は、テストしているコードと同じ動作をしない可能性があります。また、あなたが見ているアウトプットは何ですか?あなたが期待しているアウトプットは何ですか? – outis