检测与 HTTP 服务器一起使用的 HTTP 客户端?
我对 2 个不同的客户端 HTTP 使用了相同的请求。一个被服务器接受(IE 中的 java 请求),另一个被服务器接受(Delphi 软件中的 Indy 客户端)?有没有办法检测两个请求之间的请求差异?
有没有办法隐藏我使用 Indy ?
此致
I used the same request with 2 differents client HTTP. One is accepted by server (java request in IE) and not the other (Indy Client in Delphi software) ? Is there a way to detect the request difference between the two request ?
Is there a way to hide I use Indy ?
Best regards
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
我推荐 Fiddler2,它将自身作为代理插入,并记录所有 http/https 流量,并带有很好的检查器。
http://www.fiddlertool.com/fiddler2/version.asp
I recommend Fiddler2, which inserts itself as a proxy, and will record all http/https traffic, with nice inspectors.
http://www.fiddlertool.com/fiddler2/version.asp
UserAgent 位于 Request 属性下。默认情况下,Indy 的用户代理字符串是“Mozilla/3.0(兼容;Indy 库)”。将其更改为 FireFox、IE 或其他可识别的浏览器当前使用的字符串。
您可以在 UserAgentString 网站上找到示例。
Indy KB PDF 中有更多详细信息。
UserAgent is under the Request property. By default, Indy's user agent string is "Mozilla/3.0 (compatible; Indy Library)". Change it to a current string used by FireFox, IE or other recognized browser.
You can find examples on the UserAgentString site.
There are more details in the Indy KB PDF.
你说的一定是用户代理。我不确定你如何在 Indy 中设置它,但 User-Agent HTTP 标头标识了使用哪个客户端,因此你可以将其设置为假装你是 IE 或其他浏览器。
另外,尝试使用 HTTP 嗅探器(Scoop 在 OSX 上是一个很好的嗅探器)来准确查看正在发送的标头,以确保您的行为与浏览器完全相同。
You must be talking about User-Agent. I'm not sure how you set it in Indy but the User-Agent HTTP header identifies which client is used, so you can set it to pretend you're IE or another browser.
Also, try using an HTTP sniffer (Scoop is a good one on OSX) to see exactly what headers are being sent to make sure you behave exactly like the browser.
在大多数情况下,当需要分析 http 请求时, wireshark/tcpdump 是您的朋友。
使用tcpdump你可以在服务器上记录请求,然后在wireshark中分析捕获的数据。
wireshark/tcpdump is your friend in most situations when there is a need to analyse http requests.
With tcpdump you can record the request on the server, and then analyse the captured data in wireshark.
我认为你最适合帕罗斯。
http://www.parosproxy.org/
它将允许您监控、暂停和自定义 HTTP 请求即时。这是一个黑客工具,但您一定会喜欢它。
I think you are best of with Paros.
http://www.parosproxy.org/
It will allow you to monitor, pause and customize the HTTP request on-the-fly. It's a hacker tool, but you'll love it.
Don's Proxy 是一个很好的免费工具,用于捕获 HTTP 请求。当您写到您正在使用 Java 时,我假设已经安装了该工具所需的 JRE。
然后使用 TortoiseMerge 或其他一些 diff 实用程序比较两个请求。
Don's Proxy is a nice free tool to capture HTTP requests. As you write that you are using Java, I assume that the JRE required for this tool is installed already.
Then compare the two requests using TortoiseMerge or some other diff utility.
我最终使用 TidTCPClient 并手动发出了我的 POST 请求,现在它可以工作了(已经准备好很长时间了)。
我仍然不明白为什么,但我没有时间照顾这个。
I finally use TidTCPClient and made my POST request by hand and it works now (it's a long time allready).
I still not understand why but I have no time to look after this.