Отправка 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 ответа

Решение

Я смог сделать это, заменив "&quot; и добавление заголовка типа контента application/json

Таким образом, мой пример станет:

content_type='application/json' contents='{&quot;name&quot;: &quot;alex&quot;}

Самый простой способ (начиная с 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&amp;type=text&amp;data.sender-id=8a5b1c2f-0589-464c-82c4-b8f4e280511a'

Затем я модифицирую tsung xml, чтобы он выглядел так:

content_type='application/x-www-form-urlencoded' contents=''

И вставьте данные в содержимое.

Вы также можете попытаться избежать кавычек, используя "но мне никогда не везло.

Другие вопросы по тегам