riw*_*558 3 python networking python-3.x mitmproxy
当我向特定网站 API 发送请求时,我收到此响应
{
"Tickets": [
{
"ticketAvailable": true,
...
Run Code Online (Sandbox Code Playgroud)
我将如何拦截并更改ticketAvailable为false而不是true使用 mitmproxy?
from mitmproxy import ctx
from mitmproxy import http
import json
def response(flow: http.HTTPFlow) -> None:
if flow.request.pretty_url == "https://example.com/api/v1/something":
data = json.loads(flow.response.get_text())
data["data"]["Tickets"]["ticketAvailable"] = false
flow.response.text = json.dumps(data)
Run Code Online (Sandbox Code Playgroud)
我已经尝试过这个,但似乎不起作用。
编辑:尚未设法修复它
from mitmproxy import ctx
from mitmproxy import http
import json
def response(flow: http.HTTPFlow) -> None:
if flow.request.pretty_url == "https://example.com/api/v1/something":
data = json.loads(flow.response.get_text())
data["Tickets"][0]["ticketAvailable"] = "false"
flow.response.text = json.dumps(data)
Run Code Online (Sandbox Code Playgroud)
我想出了一个办法来解决它。我只是简单地flow.request.pretty_url改为flow.request.pretty_url.endswith
from mitmproxy import ctx
from mitmproxy import http
import json
def response(flow: http.HTTPFlow) -> None:
if flow.request.pretty_url.endswith("/something"):
data = json.loads(flow.response.get_text())
data["Tickets"][0]["ticketAvailable"] = False
flow.response.text = json.dumps(data)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5425 次 |
| 最近记录: |