【问题标题】:Abort a connection after sending request in fiddler在提琴手中发送请求后中止连接
【发布时间】:2015-02-01 07:53:22
【问题描述】:

在 fiddler 中,我们有 OnBeforeRequestOnBeforeResponse 等方法。我想在请求发送到服务器后断开连接。我不想从服务器检索响应。目前,我正在使用我在此站点上的 OnBeforeResponse 下找到的以下代码中止连接。但是在 Fiddler 的 WebView 中,我可以看到从服务器发送的响应,这意味着 fiddler 正在下载内容,但没有将其发送到客户端。

if (oSession.uriContains("http://example.com")) {
        oSession.oResponse.headers.HTTPResponseCode = 0;
        oSession.oResponse.headers.HTTPResponseStatus = "0 Client Connection Dropped by script";
        oSession.state = SessionStates.Aborted;
    }

我想在连接发送到服务器后以 OnAfterRequest 方法断开连接,以便在连接发送后立即中止连接,即使在 Fiddler 的 WebView 中也不加载内容,但我没有发现了类似的东西。有可能吗?谁能指出我正确的方向。

谢谢

【问题讨论】:

    标签: fiddler


    【解决方案1】:

    具体来说,您为什么要这样做?

    您的代码示例不会做您想做的事;它会从服务器读取响应,然后终止与客户端的连接。

    在 Fiddler 中,发送请求后终止服务器连接的唯一方法是在输入 SessionStates.ReadingResponse 时终止 oSession.OnStateChanged 事件中的连接。但是,这几乎肯定会产生您意想不到的副作用。

    【讨论】:

    • 感谢回复。我想制作一个需要向服务器发送多个请求并且速度足够快的脚本。另外,我不想下载响应以进行确认,因为我不必对下载的数据进行操作,它会减少我的带宽使用并提高请求速度。你能告诉我你所建议的一点点sn-p吗?我可以从中期待什么样的副作用。谢谢
    • 处理场景的正确方法是向服务器发送HEAD 请求而不是GET 请求。
    • HEADGET 请求的替代方案,但我在 POST 请求中向服务器发送表单。我认为不可能在 HEAD request 中发送帖子数据。如果我错了,请纠正我。你能建议我将我的代码放在OnStateChanged 事件中吗?我无法在 Fiddler 的脚本中找到该事件(规则 ---.> 自定义规则)。这对我会有很大的帮助。谢谢。
    • 目标返回多少数据?建立连接通常是网络中最慢的部分,因此为了避免下载而终止一个完美的连接通常是一种虚假的经济。
    • 其实我不需要对服务器发送的确认消息进行操作,因为它是脚本的最后一步(它是一个 vb 脚本),需要发送多个大约 30 个异步 POST同时请求并且不需要任何连接来重用,因为它没有用。所以我在想是否可以向服务器发送数据,然后只需确认服务器收到了完整的发布数据,然后中止该连接,这样我的异步请求就会快速进行。它实际上是我想要节省的时间和带宽使用是次要的。所以如果可能的话帮助我。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多