HTTP::Proxy 필터를 사용하는 데 문제가 있습니다. 해당 정보를 얻기 위해 logmask()
함수에 무엇을 추가해야하는지 알 수 없습니다.필터 정보를 기록하는 HTTP :: Proxy를 얻으려면 어떻게해야합니까?
로그 파일이 있는데 로그 파일이 있습니다. 로깅이 일어나고 있지만 필터에 대한 정보는 제공되지 않지만 구현되고 (때로는) 작동합니다.
나는
logmask(['FILTERS'])
logmask('FILTERS')
logmask(FILTERS)
또한 마스크의 두 가지 기능은 무엇입니까? 그리고 상수는 :log
에 의해 수출되고 있습니까?
나는 당신이 말할 수있는 것처럼 오히려 혼란 스럽다.
편집 : 아래의 조언으로가는
, 나는 다음과 같은 스크립트가 : 필터가 작동하지만, 내가 이탤릭체로 볼 수 있으며, 필터에 대해 아무것도 기록하지 않습니다
#!/sw/bin/perl
use strict;
use warnings;
use HTTP::Proxy qw(:log);
use HTTP::Proxy::BodyFilter::tags;
use HTTP::Proxy::BodyFilter::simple;
open(LOG, '>>', "/Users/ambrose/proxy-log.txt") or die "$!";
my $proxy = HTTP::Proxy->new;
$proxy->port(3128);
$proxy->logfh(*LOG);
$proxy->logmask(ALL);
$proxy->push_filter(
mime => 'text/html',
response => HTTP::Proxy::BodyFilter::tags->new(),
response => HTTP::Proxy::BodyFilter::simple->new(
sub { ${ $_[1] } =~ s!(</?)i>!$1b>!ig }
)
);
$proxy->start;
이 예에서와 같이 굵게 변경되었습니다. 내가 라인 변경하는 경우
:
$proxy->logmask(ALL);
아무것도
$proxy->logmask(FILTERS);
에 전혀 로그 파일에 추가됩니다.