使用 Charles Proxy 修改请求负载

Posted

技术标签:

【中文标题】使用 Charles Proxy 修改请求负载【英文标题】:Modify Request Payload with Charles Proxy 【发布时间】:2017-04-17 20:00:31 【问题描述】:

我正在发送一个 post 请求,请求正文中包含一个 json 对象。我想更改 json 对象中一个字段的值。

例如:

 "json_params" : 
    
        "first_name": "John",
        "last_name": "Doe",
        "fav_foods":
            "dessert": "icecream",
            "pizza": "cheese"
         
    

例如,我如何使用 Charles 将 "fav_foods" 更改为 "least_fav_foods",或将 "dessert" 更改为 "appetizer"

我尝试使用重写工具,将"fav_foods" 作为匹配项,将"least_fav_foods" 作为替换项。

也尝试过使用"json_params": "fav_foods": "dessert": "icecream", "pizza": "cheese" --> "json_params": "least_fav_foods": "dessert": "icecream", "pizza": "cheese",但没有任何一种格式。

我已经测试并确认我检测到了正确的请求。我可以在请求中添加标头,但无法更改 json 有效负载中的任何内容。

【问题讨论】:

你是如何测试你检测到正确的请求的? 通过在请求中添加标头并检查它是否存在于网络选项卡和 Charles 中。 【参考方案1】:

好吧,事实证明它比我想象的要简单。 Charles 只是做了一个简单的字符串匹配搜索。

为类型 Body 与匹配值创建重写规则:“fav_foods”-> 替换值:“least_fav_foods”做了我想要的。

【讨论】:

以上是关于使用 Charles Proxy 修改请求负载的主要内容,如果未能解决你的问题,请参考以下文章

使用charles筛选、修改请求与响应

charles抓包

charles抓包修改请求数据和响应数据

解决Charles抓取https请求显示unknow

无法使用Charles Web Proxy作为反向代理接收和转发远程请求

Charles抓包手机请求和Https请求