我在2个不同的客户端HTTP上使用了相同的请求。一个是服务器接受(IE中的java请求)而不是另一个(Delphi软件中的Indy Client)?有没有办法检测两个请求之间的请求差异?
有没有办法隐藏我使用Indy?
祝你好运
答案 0 :(得分:3)
我推荐Fiddler2,它将自己作为代理插入,并将使用不错的检查员记录所有http / https流量。 http://www.fiddlertool.com/fiddler2/version.asp
答案 1 :(得分:2)
UserAgent位于Request属性下。默认情况下,Indy的用户代理字符串是“Mozilla / 3.0(兼容; Indy Library)”。将其更改为FireFox,IE或其他可识别浏览器使用的当前字符串。
您可以在UserAgentString网站上找到示例。
Indy KB PDF中有更多详细信息。
答案 2 :(得分:1)
您必须谈论User-Agent。我不确定你是如何在Indy中设置它的,但是User-Agent HTTP标头标识了使用了哪个客户端,所以你可以将它设置为假装你是IE或其他浏览器。
此外,尝试使用HTTP嗅探器(Scoop在OSX上是一个很好的嗅探器)来确切地查看正在发送的标头,以确保您的行为与浏览器完全相同。
答案 3 :(得分:0)
wireshark / tcpdump是您的朋友。
使用tcpdump,您可以在服务器上记录请求,然后在wireshark中分析捕获的数据。
答案 4 :(得分:0)
我认为你最擅长Paros。 http://www.parosproxy.org/
它允许您即时监控,暂停和自定义HTTP请求。这是一个黑客工具,但你会喜欢它。
答案 5 :(得分:0)
Don's Proxy是一个很好的免费工具来捕获HTTP请求。当您写到使用Java时,我认为已经安装了此工具所需的JRE。
然后使用TortoiseMerge或其他一些diff实用程序来比较这两个请求。
答案 6 :(得分:0)
我终于使用了TidTCPClient并手工制作了我的POST请求,现在它已经运行了(已经很久了)。
我仍然不明白为什么,但我没时间照顾这个。