Запрос POST к определенному URL-адресу (http://test.com) выглядит следующим образом:
{
"messageType": "OK",
"city": {
"Name": "Paris",
"Views": {
"1231": {
"id": 4234,
"enableView": false
},
},
"Views": [5447, 8457],
"messages": [{
"id": "message_6443",
"eTag": 756754338
}]
},
"client": {
"Id": 53,
"email": "[email protected]",
"firstName": "test",
"lastName": "test",
"id": 52352352,
"uuid": "5631f-grdeh4",
"isAdmin": false,
Мне нужно перехватить это и изменить «isAdmin» на true.
И запрос GET на определенный URL-адрес (https://test.com/profiles/{Random_Numbers}/id }) имеет «ответ» [декодированный gzip] JSON
{
"id": 0,
"Code": "Admin",
"display": "RRRR"
}
Мне нужно изменить значение «id» на 5.
Итак, в основном мне нужно написать один скрипт, который будет делать эти два.
До сих пор я пытался воспользоваться примерами кода в Github, но не получил ожидаемого результата. (Я полный нуб :\) и надеюсь, что кто-то здесь поможет мне начать работу. Заранее спасибо!
Редактировать: в соответствии с примерами кода в Github,modify_response_body.py:
from libmproxy.protocol.http import decoded
def start(context, argv):
if len(argv) != 3:
raise ValueError('Usage: -s "modify-response-body.py old new"')
context.old, context.new = argv[1], argv[2]
def response(context, flow):
with decoded(flow.response): # automatically decode gzipped responses.
flow.response.content = flow.response.content.replace(context.old, context.new)`
Как мне реализовать это для моего senario?
Возможно, лучше использовать libmproxy для получения http-запроса и ответа.