3

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

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

最好的祝福

4

7 回答 7

4

我推荐 Fiddler2,它将自己作为代理插入,并将记录所有 http/https 流量,并带有很好的检查器。 http://www.fiddlertool.com/fiddler2/version.asp

于 2010-04-17T03:23:09.650 回答
2

UserAgent 位于 Request 属性下。默认情况下,Indy 的用户代理字符串是“Mozilla/3.0 (compatible; Indy Library)”。将其更改为 FireFox、IE 或其他可识别浏览器使用的当前字符串。

您可以在UserAgentString站点上找到示例。

Indy KB PDF中有更多详细信息。

于 2010-04-16T14:47:21.770 回答
1

您一定在谈论用户代理。我不确定你是如何在 Indy 中设置它的,但 User-Agent HTTP 标头标识了使用哪个客户端,因此你可以将其设置为假装你是 IE 或其他浏览器。

另外,尝试使用 HTTP 嗅探器(Scoop 在 OSX 上是一个很好的嗅探器)来准确查看正在发送的标头,以确保您的行为与浏览器完全一样。

于 2010-04-16T13:25:26.733 回答
1

在需要分析 http 请求的大多数情况下,wireshark /tcpdump 是您的朋友。

使用 tcpdump 可以将请求记录在服务器上,然后在wireshark 中分析捕获的数据。

于 2010-04-16T13:30:48.553 回答
1

我认为你最适合Paros。 http://www.parosproxy.org/

它将允许您即时监控、暂停和自定义 HTTP 请求。这是一个黑客工具,但你会喜欢它的。

于 2010-04-16T13:34:41.840 回答
1

Don's Proxy是一个不错的免费工具,可以捕获 HTTP 请求。当您写到您正在使用 Java 时,我假设该工具所需的 JRE 已经安装。

然后使用TortoiseMerge或其他一些 diff 实用程序比较两个请求。

于 2010-04-17T08:16:33.667 回答
-1

我终于使用 TidTCPClient 并手动发出了我的 POST 请求,它现在可以工作了(已经很久了)。

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

于 2010-05-15T08:06:51.913 回答