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

时间:2018-08-28 01:23:44

标签: charles-proxy

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

Rewrite Screen

4 个答案:

答案 0 :(得分:3)

我认为Charles没有此选项,这实在太可惜了,因为它似乎易于实现,并且将为API世界打开大门。

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

答案 1 :(得分:2)

我们能够通过假设OPTIONS总是返回一个空的正文来解决此问题。

下面的正则表达式值将与GET匹配(因为它具有主体),而与OPTIONS不匹配(因为它没有主体)。

  

\ {[\ S \ s] * \}

  

\ [[[\ S \ s] * \]

Rewrite Rule

答案 2 :(得分:0)

我们同样需要模拟API响应。由于重写工具不支持此功能,因此我们在要模拟的响应上设置了Breakpoints,一旦命中了断点,我们会将响应更改为所需的内容。它有效,但不理想。

答案 3 :(得分:0)

不幸的是,查尔斯没有此功能来过滤出具有特定HTTP方法的请求。

这不是直接的答案,但是您可以使用ScriptingProxyman工具

scripting to change https status code

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

  // Update status Code
  response.statusCode = 500;

  // Done
  return response;
}

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

免责声明:我是Proxyman的创建者。由于有很多人在解决这个问题,所以希望该脚本工具可以为您提供帮助。