有没有办法拦截和“更改”python请求-响应体?

2024-06-01 04:38:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我想检查所有的请求(就像charles、fiddler和其他一些web拦截器所做的那样),当它发现请求匹配时,就会伪造请求-响应体

示例:我的程序记录了一个来自网站https://thisisnotareal.link?query=999的get会话,该网站将返回{"status":"error"},但在返回错误之前,我想强制响应主体为{"status":"noterror"},就像Charles Proxy在Map Local/Rewrite函数上所做的那样

我在stackoverflow上搜索过,但没有找到任何与我想要的匹配的内容(至少在我的搜索中)

Idk,如果可能的话,但我希望有办法

我也在使用Python3.6


Tags: https程序web示例get网站status记录
1条回答
网友
1楼 · 发布于 2024-06-01 04:38:35

通过使用Charles或Proxyman有多种方法来实现它

查尔斯

  • 映射本地:右键单击请求->;本地地图->;映射到本地文件:
HTTP/1.1 200 OK
Date: Wed, 07 Oct 2020 01:40:10 GMT
Content-Type: application/json
Connection: keep-alive
Vary: Origin

{
  "status": "noterror"
}
  • 重写:创建与您的请求匹配的规则->;更改正文->;设置{“状态”:“noterror”}

Proxyman

  • 映射本地:右键单击请求->;工具->;映射本地:它将自动为您创建本地文件

Map Local

  • 脚本:它喜欢重写,但很灵活。通过使用简单的Javascript代码,您可以做任何您想做的事情
function onResponse(context, url, request, response) {

  // Update Body
  var body = response.body;
  body["status"] = "noterror";
  response.body = body;

  // Done
  return response;
}

相关问题 更多 >