http报文录制回放工具fiddler&curl操作指导

http报文录制回放工具fiddler&curl操作指导

http报文录制回放工具fiddler&curl操作指导

1       Fiddler介绍

2       获取请求导出**.bat文件步骤:

3       Curl介绍

3.1        Curl安装使用

3.2        GET请求

3.3        Post请求

3.4        更多操作文档见官网

4       执行**.bat返回结果

5       总结

 


 

http报文录制回放工具fiddler&curl操作指导

1      Fiddler介绍

Fiddler是一款由C#语言开发的免费http调试代理软件,有.net 2 和 .net 4 两种版本。Fiddler能够记录所有的你电脑和互联网之间的http通讯,Fiddler 可以也可以让你检查所有的http通讯,设置断点,以及Fiddle所有的“进出”的数据。

Fiddler简单操作可以访问以下网址:

http://3ms.huawei.com/hi/index.php?app=home&mod=Blog&act=blogList&uid=533753

本文更多的介绍下,通过fiddler获取我们操作IE时所发起的请求,通过Fiddler的导出功能将请求导出为curl工具可以执行的请求文件.

当获得请求文件后,通过window下curl工具来回访请求,抓取请求返回的html报文信息.

2      获取请求导出**.bat文件步骤:

Click File > Export Sessions.

Click either All Sessions or Selected Sessions.

Select the export format from the drop-down menu.

操作步骤见截图 (图1,图2,图3)

 

保存文件成功后,打开文件形式见图4

图1 fiddler记录IE请求页面

 

2.png

图2 Export Sessions

 

图3 Click either All Sessions

图4 保存后文件打开格式

3      Curl介绍

curl是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win32、Win64下的移植版本。(源于:百度百科)

3.1      Curl安装使用

1: http://curl.haxx.se/download.html 在该路径下下载对应的安装文件包。

图3-1 curl下载地址

 

2:curl_739_0_ssh2_ssl.zip(我自己下载的是这个适合win32系统),下载完成之后解压到需要使用curl命令的目录(自己在任意路径下建一个文件夹,解压到文件夹下即可,如:D:\Curl),解压后得到curl.exe,libssh2.dll文件.

curl_739_0_ssh2_ssl.zip文件已上传:\\hwrnd-fs\szx01\PS_TS_PT_F\工具开发\HUTAF I&V TDT\HUTAF I&V 测试组\07.工具

图3-2 curl解压后文件

 

3:将保存的**.bat文件copy到该路径下,双击执行。(见下图11.bat文件)或者可以打开命令窗口进入curl_739_0_ssh2_ssl.zip文件解压目录,可以在该cmd窗口单条执行请求。

注意:直接导出的**.bat文件双击执行可能会出现执行对话框闪退的情况,这是因为**.bat文件执行后会立刻关闭对话框,如果想让**.bat文件执行后依然能显示在桌面,可以在导出的**.bat文件的结尾自己加上一行:  echo. & pause

由于执行的请求中有 (-o 1.dat)指令. 返回参数会输出到1.dat文件中,如下图所示,执行完11.bat文件后文件夹内会生成一个1.dat文件。里面保存了请求的所有返回信息。

图3-3 11.bat文件执行结果

 

4:可以给Windows增加curl命令的环境变量。计算机右键-》属性-》高级系统设置-》环境变量-》path (路径后添加curl多在目录。)

注:添加环境变量后,执行命令不需要进入curl目录

图3-4 curl设置环境变量

 

3.2      GET请求

curl -k -i --raw -o 0.dat "http://10.78.101.230:8080/lcm/index.jsp" -H "Accept: image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*" -H "Accept-Language: zh-CN" -H "User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; aff-kingsoft-ciba; .NET CLR 1.1.4322; .NET4.0C; .NET4.0E)" -H "Accept-Encoding: gzip, deflate" -H "Proxy-Connection: Keep-Alive" -H "Host: 10.78.101.230:8080" -H "Cookie: username=*******; password=*******; validateType=0; currPortId=93469b794cfc4b25906a4413eb1b9f00; portParaIds=247d5b93b1bd4c528a6e09d7f9af7dcc; JSESSIONID=0C587702D8AF232F82771609FFF24FFB"

注释:

-k /--insecure 允许不使用证书到SSL站点

-i/--include 输出时包括protocol头信息(包括服务器的名称,该文件的日期,HTTP的版本和更多…)

--raw  (HTTP) When used, it disables all internal HTTP decoding of content or transfer encodings and instead makes them passed on unaltered, raw. (Added in 7.16.2)

-o 0.dat  --output 把输出写到该文件中

-H/--header <header >自定义头信息传递给服务器

3.3      Post请求

curl -k -i --raw -o 1.dat -X POST -d "screenWidth=1280&screenHeight=1024&language=zh_CN&inputType=&username=z00296839&password=zhang@1988&validateType=ChinaDomain" "http://10.78.101.230:8080/lcm/login.jsp" -H "Accept: image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*" -H "Referer: http://10.78.101.230:8080/lcm/index.jsp" -H "Accept-Language: zh-CN" -H "User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; aff-kingsoft-ciba; .NET CLR 1.1.4322; .NET4.0C; .NET4.0E)" -H "Content-Type: application/x-www-form-urlencoded" -H "Accept-Encoding: gzip, deflate" -H "Host: 10.78.101.230:8080" -H "Proxy-Connection: Keep-Alive" -H "Pragma: no-cache" -H "Cookie: username=*******; password=********; validateType=0; currPortId=93469b794cfc4b25906a4413eb1b9f00; portParaIds=247d5b93b1bd4c528a6e09d7f9af7dcc; JSESSIONID=0C587702D8AF232F82771609FFF24FFB"

注释:

 -X/ POST --request <command>指定什么命令

 -d/--data <data> HTTP POST方式传送数据

3.4      更多操作文档见官网

curl 具体操作形式:curl [options] [URL...]

更多的关于curl的介绍可以参考以下网站提供的具体文档。

http://curl.haxx.se/docs/manpage.html

关于请求中操作参数的指令官网文档中有很相信的介绍,或者再cmd窗口中输入curl –help  或者curl –manual会有详细的介绍。 不过都是英文的。 中文的只能上百度了,有很多大神的博客里面还是有很详细的翻译的。

4      执行**.bat返回结果

当执行完**.bat文件后,每条请求会生成对应的日志文件。(-o 0.dat  --output 把输出写到该文件中)。

图3-1 bat文件执行结果

 

图3-2 0.dat文件

 

5      总结

       个人觉得对于测试和web协议的学习,fiddler 和 curl 有很多值得学习和使用的地方,但是目前自己还掌握的不是很深刻,以后会更多的挖掘共享。

       也希望以后大家工作或者学习过程中所使用到任何有利于工作的小工具可以共享出来,.共同挖掘.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值