如何仅在某些方法上使用 Charles 的重写工具?

How to use Charles' rewrite tool only on certain methods?

我正在使用 Charles' Rewrite Tool 将 200 个响应更改为 400 个以测试失败的 API 调用。但是,重写是在 Options 请求上触发的。我只想让它在 GetPost 请求上触发并允许 Options 请求通过。这可能使用 Charles 吗?

我觉得 Charles 没有这个选项,真的很可惜,因为它看起来很容易实现,而且它会打开通往 API 世界的大门。

我建议您在网站的 contact 部分向 Karl(作者和主要开发人员)询问此新功能。

我们有完全相同的需求来模拟 API 响应。由于重写工具不支持此功能,我们在要模拟的响应上设置了 Breakpoints,一旦遇到断点,我们就可以将响应更改为我们想要的任何内容。它有效,但不太理想。

我们能够通过假设 OPTIONS 总是 return 一个空体来解决这个问题。

以下 Regex 值将匹配 GET(因为它有响应主体)而不匹配 OPTIONS(因为它没有响应主体)。

\{[\S\s]*\}

\[[\S\s]*\]

不幸的是,Charles 没有这个功能来过滤出具有特定 HTTP 方法的请求。

这不是一个直接的答案,但你可以用 Scripting tool from Proxyman

function onResponse(context, url, request, response) {

  // Update status Code
  response.statusCode = 500;

  // Done
  return response;
}

这是您可以使用 JS 代码执行的 Snippet Code

免责声明:我是 Proxyman 的创建者。由于有很多人都在为这个问题而苦恼,希望脚本工具可以帮助到您。