Отправка json с запросом tsung POST
Я пытаюсь создать POST-запрос с Tsung
<request>
<http url="api.whatever.com" method="POST" version="1.1" contents=""></http>
</request>
Как я могу отправить документ JSON в атрибуте содержимого?
contents='{"name": "alex"}'
конечно недействительно...
Есть ли способ отправить JSON с моим POST-запросом?
2 ответа
Я смог сделать это, заменив "
"
и добавление заголовка типа контента application/json
Таким образом, мой пример станет:
content_type='application/json' contents='{"name": "alex"}
Самый простой способ (начиная с Tsung 1.3) - использоватьcontents_from_file
атрибут. Это позволяет избежать загрязнения вашего кода каплей экранированных данных и позволяет брать любые необработанные данные и выгружать их в файл по вашему выбору.
<http url="mypage"
method="POST"
content_type='application/json'
contents_from_file="/tmp/myfile.json"
/>
При отправке json я обычно фиксирую несколько успешных запросов в Wireshark без запуска tsung.
Затем я нахожу IP-адрес одного из пакетов, выбираю меню "Анализ" и выбираю "Отслеживать поток TCP".
Это позволяет мне видеть фактические отправленные данные.
Данные могут выглядеть примерно так:
data.text=U.S.+intelligence+agents+have+been+hacking+computer+networks%0A++++++++++++++++++++++++around+the+world+for+years%2C+apparently+targeting+fat+data%0A++++++++++++++++++++++++pipes+that+push+immense+amounts+of+data+around+the+Internet%2C%0A++++++++++++++++++++++++NSA+leaker+Edward+Snowden+t&type=text&data.sender-id=8a5b1c2f-0589-464c-82c4-b8f4e280511a'
Затем я модифицирую tsung xml, чтобы он выглядел так:
content_type='application/x-www-form-urlencoded' contents=''
И вставьте данные в содержимое.
Вы также можете попытаться избежать кавычек, используя "но мне никогда не везло.