检测HTTP Server使用的HTTP客户端?

时间:2010-04-16 13:23:09

标签: delphi http indy

我在2个不同的客户端HTTP上使用了相同的请求。一个是服务器接受(IE中的java请求)而不是另一个(Delphi软件中的Indy Client)?有没有办法检测两个请求之间的请求差异?

有没有办法隐藏我使用Indy?

祝你好运

7 个答案:

答案 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)

在需要分析http请求的情况下,

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请求,现在它已经运行了(已经很久了)。

我仍然不明白为什么,但我没时间照顾这个。