首页 > 解决方案 > Charles Proxy - 使用重写规则时响应挂起

问题描述

我正在使用 Charles 中的 Rewrite 工具来修改响应正文的一部分,但是网络请求永远不会完成。

请求的“状态”值挂起并保持为“接收响应正文”。它永远不会更改为“完成”

在此处输入图像描述

这是我正在使用的重写规则逻辑:

正则表达式规则日志

我正在尝试替换响应正文中 2 个对象之间的内容。起始对象称为“termsAndConditions”,结束对象称为“CampaignTermsAndConditions”

当我查看查尔斯的错误日志时,这就是我得到的

  • 2021/03/08 13:16:09 信息 com.xk72.charles.tools.rewrite.RewriteFilter POST https://www.my.fake.hostname/graphql?getApplicationWithCampaign Running: Body: termsAndConditions":[\s\S ]*"CampaignTermsAndConditions -> termsAndConditions": [{ <rewrite_replacement_text> CampaignTermsAndConditions
  • 2021/03/08 13:16:09 线程“pool-726-thread-1”java.lang.IndexOutOfBoundsException 中的异常:没有第 5 组
  • 2021/03/08 13:16:09 在 java.base/java.util.regex.Matcher.start(未知来源)
  • 2021/03/08 13:16:09 在 java.base/java.util.regex.Matcher.appendExpandedReplacement(未知来源)
  • 2021/03/08 13:16:09 在 java.base/java.util.regex.Matcher.appendReplacement(未知来源)
  • 2021/03/08 13:16:09 在 java.base/java.util.regex.Matcher.replaceAll(未知来源)

我对 Charles 相当熟悉,并且我使用了很多 Rewrite 规则。我以前从未遇到过这个问题

标签: charles-proxy

解决方案


推荐阅读