【问题标题】:Intercept http POST requests拦截 http POST 请求
【发布时间】:2010-10-18 14:48:15
【问题描述】:

我正在寻找一种在不挂钩任何浏览器功能的情况下使用 delphi 拦截 http post 请求的方法。这可能吗?怎么样??

【问题讨论】:

    标签: delphi http intercept


    【解决方案1】:

    您可以使用WinPCap 之类的东西来截获所有使用带有POST 的http 协议专门寻找端口80 上的数据包的数据包。有一个可用的Delphi wrapper 可能会有所帮助。这与WireShark 使用的引擎相同,如果您只需要手动执行此操作或调试现有协议,它本身就会很有用。

    【讨论】:

      【解决方案2】:

      除了在 Delphi 中执行此操作,您可能想要考虑像 Http Fiddler 这样的良好且可编写脚本的免费解决方案?

      编辑:

      如果您想从头开始编写一个适当且完全成熟的代理,它可以很好地与可能的 http 客户端和服务器的大多数特性配合使用,请准备好至少几个人月的工作。

      如果您愿意至少使用一些基础库,请查看this question

      --杰罗恩

      【讨论】:

        【解决方案3】:

        您必须创建一个类似于本地代理服务器的应用程序,它捕获所有发出的请求,然后将它们转发到适当的服务器。

        我不确定您使用的是哪个版本的 Delphi,但您可能想查看此sample Proxy Server in C#,看看是否可以移植基础知识以满足您的需求。

        【讨论】:

        • 我会欣赏一个不是用 .NET 编写的示例
        • @opc0de - 可以理解。不过你更喜欢哪种语言(我试图找到 Delphi 但找不到)。
        • 查看 Indy 库,有一个 HTTP 代理组件 - 带有完整的源代码。无论如何请记住,必须在浏览器设置中设置代理。您还可以编写“透明”代理,但这需要将所有 HTTP 流量路由到代理,要实现它,您必须在网络层工作(即编写过滤器驱动程序,但这在 Delphi 中并不容易做到,可能需要 C/C++ 和驱动程序开发工具包)
        • 总是有IdHttpProxyServer
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-02-28
        • 1970-01-01
        • 1970-01-01
        • 2019-07-14
        • 1970-01-01
        • 1970-01-01
        • 2013-01-31
        相关资源
        最近更新 更多