当前位置: 首页 > 知识库问答 >
问题:

如何使用Charles代理重写工具和regex修改HTTP响应体?

乐正嘉瑞
2023-03-14

我正在尝试使用重写工具/regex用Charles代理更改HTTP响应主体?响应是JSON。

因此,返回的响应JSON正文的一部分是:

"unavailablePosts": ["AA", "BB"],

我想要的是:

"unavailablePosts": "XXX",

我试着这样设置查尔斯的重写:

所以正则表达式就像:

"unavailablePosts": \[(.*)\],

但是...(当我问这个问题时)它不起作用,即响应体中没有任何变化。

共有2个答案

戚繁
2023-03-14

我也有类似的问题。在这种情况下,正则表达式("unuseablePosts":)"[\s\S]*?" 替换值是1美元"任何东西"

裴经义
2023-03-14

我认为这些值之间有一些换行符,为了匹配它们,您需要在<代码>周围添加<代码>\s* (零个或更多空格): 并使用<代码>[\s]*(任何0个字符,但尽可能少?是一个惰性量词)以匹配[]之间的子字符串

 "unavailablePosts"\s*:\s*\[([\s\S]*?)\],
 类似资料:
  • 是否可以在不将此请求发送到服务器的情况下截获通过Charles的请求并立即返回500个错误代码? 找不到这方面的任何信息。所有资源建议等待响应,然后将HTTP响应代码更改为500。

  • 问题内容: 我使用的是node-http-proxy,想要监视特定的响应标头,并在必要时重写它。这里有人建议这样做吗? 我的代理服务器位于几个不同的节点服务器以及一个Java WebApp的前面。Java应用程序正在设置Cookie,但是该Cookie的路径相对于Web应用程序的上下文。我需要cookie是安全的,并且有一个无需修改Java应用程序即可到达root的路径。 换句话说,将返回以下标头

  • 我有以下来自数据库的路由配置 所有代理服务都将返回公共响应json以防出现错误场景

  • 我正在尝试让Genymotion(一个托管在Virtualbox中的x86 Android模拟器)与Charles代理一起工作。我已经设法将设备连接到设备wifi代理设置中的代理,使用网关ip(vm配置为使用仅限主机的适配器fwiw),并且http流量可以很好地代理。我已经在vm上安装了charles证书,但所有ssl连接仍然失败,出现“ssl:Unrecognized ssl message,p

  • 问题内容: 我已经使用Selenium2 / WebDriver编写了测试,并且想要测试HTTP请求是否返回HTTP 403 Forbidden。 是否可以使用Selenium WebDriver获取HTTP响应状态代码? 问题答案: 一言以蔽之。无法使用Selenium WebDriver API。此问题已在项目的问题跟踪器中进行了讨论,该功能不会添加到API中。

  • 我试图创建一个regex来捕获HTTP状态代码和curl请求的主体。下面的regex模式可以在多个在线站点上工作,但在我的Mac命令行上的shell if-语句中不匹配。是我的regex关闭了还是有其他事情发生? 我也对其他方法持开放态度(我的目标是运行Centos5的机器)。