Экранирование строки в запросе Python для словаря json - PullRequest
0 голосов
/ 22 января 2019

Итак, у меня есть приложение на python, которое использует request.post для отправки запроса с заголовками json, информацией о теле и т. Д.

Проблема в том, что в моем словаре, который отправляется в виде заголовков, у меня есть переменная, которая часто содержит группы символов, такие как% 25 "" или "% 2F" и т. Д. Я уже видел эту проблему раньше, если отправлял данные тела , но это можно исправить, отправив данные тела в виде строки, а не словаря. Однако мы не выяснили, как заставить это работать с заголовками, так как вы не можете просто разграничить параметры с помощью амперсанда, как в данных тела.

Как мне убедиться, что значение cookie не изменяется в процессе отправки запроса?

Например, заголовки: Ведущий: blahblah.com Подключение: Keep-Alive Cookie: Моя чувствительная строка со специальными символами и т.д.

Примечание: ничто на стороне сервера не может быть изменено. Приложение python используется для наемных служб пентестинга.

1 Ответ

0 голосов
/ 22 января 2019

Обычный способ отправки данных, которые становятся беспорядочными при их передаче, заключается в кодировании, особенно в виде base64

Отправитель:

import base64
...
encoded_data = "base64:{}".format(base64.b64encode(data))

Получатель:

import base64
...
if encoded_data.startswith("base64:"):
    data = base64.b64decode(encoded_data.split(':')[1])
...