Charles Map Local不适用于JSON数据?

Eri*_*eim 15 json mocking ios charles-proxy

我试图使用Charles模拟(模拟它)一个服务器.我发现Charles有一个名为"Map Local ..."的东西,它允许我使用我本地存储的文件回复客户端.

通过右键单击查询序列列表并选择"保存响应..."来存储我指向的文件.

但是,在使用我的iOS应用程序测试时,我收到以下错误消息:

Failed to get areas: Error Domain=AFNetworkingErrorDomain Code=-1016 "Expected content type {(
    "text/json",
    "application/json",
    "text/javascript"
)}, got text/plain" 
Run Code Online (Sandbox Code Playgroud)

所以我不知道我发送的响应是否有内容类型的正确标头信息.有没有办法告诉Charles,响应是JSON?可能的问题是存储的文件仅包含JSON数据而不包含任何标头.

lia*_*ols 39

您需要在Charles中添加重写规则,以将Content-Type标头更改回application/json.

Map Local仅提供text/plain Content-Type.

要执行此操作,请转到"工具">"重写...">"添加".

添加您在本地映射的所有位置,然后为规则添加如下所示的位置:

重写规则

我永远不会建议仅为Charles调整代码,因为如果您无法完全复制它们,这会破坏测试Web服务的重点.