[apache]通过mod_dumpio模块查看http body中data信息

本文档介绍了如何通过启用Apache的mod_dumpio模块来查看客户端发送的POST数据。在分析需求后,详细阐述了环境准备、配置步骤以及日志级别的调整,以确保能捕获HTTP请求和响应的完整数据。最后,列出了待解决的问题,包括对301响应码的不理解和计划使用HttpClient进行进一步测试。

需求

在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 debug

DumpIOInput 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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值