问题背景:

为了测试项目中的小功能能否正常运行,我需要一个客户机去访问服务端http服务器并且需要在请求报文中添加自定义cookie字段,于是使用xp虚拟机去访问服务端,奈何发现很多方法在xp系统下都有很多的坑点,于是在这里进行总结方式以及遇到的坑点(当然还有很多方式可以绕开xp系统去实现本质目的,比如直接用java写一个http请求之类了,但是要是有更简单的方法就好了…奈何我太菜了QAQ


1.利用浏览器的开发者模式

可以使用IE、chrome、firefox来进入到开发者模式(F12),点击网络就可以看到具体的报文内容。


(我并没有尝试使用这个方式,因为xp系统的IE…一言难尽…所以我也不知道这个方式是否有效)

Chrome

使用chrome浏览器可以进入到开发者模式,但是没有直接编辑和重发的功能,
不过可以使用控制台(console)中的document.cookie来设置cookie

// 输入以下命令,然后回车
document.cookie=“key=value”

现在普遍用的chrome版本都可以用,但是想要安装在xp win32系统的chrome版本并不支持开发者模式(也可能是支持,但是我没有找对版本T. T

Firefox

firefox打开开发者模式后点击网络可以看到报文,右击报文可以看到编辑和重发,点击编辑后按照自己需要的方式进行更改然后点击发送就好了,就很方便~~~
不过恰好不巧的是,firefox43.x版本的貌似这个功能有bug,添加自定义字段时候没有问题,当我想加cookie字段,强制加入cookie时候是不允许的。问了度娘说是很久之前的bug,新版本已经没有这样的问题了。

firefox还可以添加扩展包来实现对报文的编辑:比如
modify header value 优点:画面简洁, 缺点:调试的时候需要多次修改,好像一次只能改一个字段
http header live 优点:实时更改 ,缺点:不易审查
(这两个对43版本都不支持=. =)


2.通过cmd命令

telnet

要注意windows和linux使用telnet进入回显方式不一样,这边就不细说了
根据我的使用经验来看,这个命令能实现http请求,也可以自定义字段,但是当连续输入两个回车的时候就会发送命令,而且,每次连接时间比较短,至今没搞明白如何正确输入复杂的自定义字段(求各位大佬有人知道话,务必赐教QAQ)…抓取发送的报文,写的自定义字段并没有卸载请求行而是写在data部门,而且应用层的格式乱套了…
总之,我觉得只能模拟简单的请求报文…用着让我难受(也可能因为太菜了不会用

curl

这个命令可以自定义字段,反正用着让我觉得很奈斯
安装过程也没有遇到问题,抓取的报文也没有格式乱套,不过有一个缺点,就是对于自定义的字段,使用 -H 加入的时候是不允许带入空格的,其他更改请求头的需求都可以实现( •̀ ω •́ )y