gpt4 book ai didi

firefox - 自动修改服务器响应

转载 作者:行者123 更新时间:2023-12-02 15:17:36 24 4
gpt4 key购买 nike

Firefox 向服务器发出get 请求。它得到 HTML 页面作为响应。此 HTML 响应页面有一部分需要修改。HTMLHead 部分有jQuery 代码:

    <Head>
..
<script type="text/javascript">

jQuery(document).ready(function(){
init(var1, var2, var3, var4);
});

</script>

..
</Head>

目标是:

  1. 拦截原始回复。
  2. 响应中找到这个javascript部分。
  3. 编辑变量 1 和 3,但保留变量 2 和 4
  4. 响应发送到Firefox

要点 1 我使用通过代理设置连接到 FirefoxFiddler。目前我不知道如何第 2、3 和 4 点自动。我最近才开始使用 Fiddler,文档中没有说明如何操作的示例。

Windows 自动 中使用其他程序是否有更简单的方法根据服务器请求/响应发送/修改请求/响应??

感谢您的帮助!

最佳答案

您可以使用 Fiddlers CustomRules 脚本即时重写服务器响应:

  • 打开 FiddlerScript 选项卡:Fiddler window with FiddlerScript tab
  • (或者在编辑器中打开 %userprofile%\Documents\Fiddler2\Scripts\CustomRules.js 文件并找到 static function OnBeforeResponse(oSession: Session) {。)
  • 修改其主体 - 简单的字符串到字符串替换:

    if (oSession.oResponse.headers.ExistsAndContains("Content-Type","text/html")){
    oSession.utilDecodeResponse();
    oSession.utilReplaceInResponse('find','replace');
    oSession.utilReplaceInResponse('something','anything');
    }
  • 或者正则表达式:

    if (oSession.oResponse.headers.ExistsAndContains("Content-Type", "html")){
    oSession.utilDecodeResponse();
    var oBody = System.Text.Encoding.UTF8.GetString(oSession.responseBodyBytes);
    var oRegEx = /([a-z]+) and ([a-z]+)/gi;
    oBody = oBody.replace(oRegEx, "$2 swapped $1");
    oSession.utilSetResponseBody(oBody);
    }

(这在响应不是 UTF-8 的情况下应该不起作用。)

脚本文件是“实时的”:当 Fiddler 运行时,您在其中保存的任何更改都会传播(它会在文件更改时播放声音,或者当您在 Fiddler 窗口中使用相应的提示破坏某些内容时播放不同的声音)。

文档:http://docs.telerik.com/fiddler/KnowledgeBase/FiddlerScript/ModifyRequestOrResponse

顺便说一句,对于简单的传入文件替换,您可以使用自动回复器: Fiddler AutoResponder example


披露:我对此了解不多,只是今天碰巧弄乱了Fiddler,并且自己刚刚尝试了一些东西。我想可能会有更健壮的方法,甚至可能有更智能的代理,带有集成的 HTML 解析器等,它们会更好地解决您的问题;愚蠢的字符串替换无法与真正的 HTML 解析器等竞争,但这是我所知道的第一个也是唯一的解决方案。

关于firefox - 自动修改服务器响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39350549/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com