perl http :: proxy – 转储所有通信
发布时间:2020-12-16 06:14:41 所属栏目:大数据 来源:网络整理
导读:有一个非常复杂的结构和 javascript逻辑与许多ajax调用的网页,一些请求只有一个响应纯(applicaton / json)对象,一些ajax获取HTML等等…;( 需要分析浏览器和服务器之间的完整通信,因此决定编写一个perl-proxy“简单”转储任何方向的所有文本通信(请求和响应).
有一个非常复杂的结构和
javascript逻辑与许多ajax调用的网页,一些请求只有一个响应纯(applicaton / json)对象,一些ajax获取HTML等等…;(
需要分析浏览器和服务器之间的完整通信,因此决定编写一个perl-proxy“简单”转储任何方向的所有文本通信(请求和响应). 找到HTTP::Proxy模块,但我完全混淆了过滤器. 基本代码: use strict; use warnings; use HTTP::Proxy; my $proxy = HTTP::Proxy->new( port => 3128 ); $proxy->start; 很好地工作,但我不知道如何为它编写过滤器. 分发中的“eg”目录有许多复杂的例子,如何修改响应主体内容等等,但基本的dump_all_communication丢失了. 任何人都可以指导我,如何编写一个简单的过滤器: >转出从浏览器到服务器的所有http请求 Here is similiar question,但它想要过滤JSON,我想要更简单 – 转储所有内容(所有请求和所有响应(但没有图像)) 解决方法
基于一个例子,我会这样做.它只是向stderr打印出在此代理中经历的所有内容.
相应地调整过滤器. 问候, { package DumpAllBody; use base qw( HTTP::Proxy::BodyFilter ); use Data::Dumper; sub filter { my ( $self,$dataref,$message,$protocol,$buffer ) = @_; warn "Body:n".Dumper($dataref,$buffer); } } { package DumpAllHeader; use base qw( HTTP::Proxy::HeaderFilter ); use Data::Dumper; sub filter { my ( $self,$headers,$message ) = @_; warn "Body:n".Dumper($headers,$message); } } $proxy->push_filter( request => DumpAllHeader->new(),response => DumpAllHeader->new()); $proxy->push_filter( request => DumpAllBody->new(),response => DumpAllBody->new()); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |