[apache]通过mod_dumpio模块查看http body中data信息,apachemod_dumpio
[apache]通过mod_dumpio模块查看http body中data信息,apachemod_dumpio
需求
在apache服务端查看client发送过来的post data信息。比对post data信息是否与设计相符。
环境准备
1 apache http server
这里不介绍如何安装apache server。查看本地的server版本:
httpd -v
Server version: Apache/2.2.15 (Unix)
Server built: Dec 8 2011 18:10:49
2 Client报文发送方
本文使用的是企业软件发送的post信息,如下图:
Post内容到/usage/v6 的URI
3 apache http Server配置
直接在server的html目录下,新建目录(usage/v6,放置一个empty.txt文件即可)。
DocumentRoot “/var/www/html”
初步分析:
通过http://httpd.apache.org/docs/1.3/logs.html 中介绍的mod_log_config Module,只能打印出相关的头部信息,例如:Referer, User-agent。但是我希望看到body中的data。
目前找到解决方案是使用apache的扩展module: dumpio_module modules/mod_dumpio.so
具体操作方案:
使用mod_dumpio模块,此模块可以把apache所有的接受报文和响应报文log到error.log中。
具体见: http://httpd.apache.org/docs/2.4/mod/mod_dumpio.html
1 apache server加载dumpio模块
在httpd.conf总找到如下行:
# LoadModule dumpio_module modules/mod_dumpio.so
apache默认是不载此模块的,去掉前面的#。
2 配置日志级别。
#LogLevel warn
LogLevel debugDumpIOInput On
DumpIOOutput On
DumpIOLogLevel debug
把默认的LogLevel改成 debug,然后打开 DumpIO的请求和响应报文开关。这样,在logs/error_log下面就可以查看到所有的报文data部分。
3 重启http server(httpd -k restart)
重启后,触发请求操作,通过查看error_log中的信息查看配置是否生效。
Todo:
1 发送post data后,响应报文是301 Moved Permanenetly格式。不理解这个的用处。以后有时间再分析。
2 此包是软件自己触发出来的。改天使用httpclient.jar创建client包,查看server处理情况:http://hc.apache.org/httpclient-3.x/
评论暂时关闭