Отправка POST-запроса в формате "multipart/form-data"

Запросы на решение проблем

Модератор: ykolesnikov

Ответить
VARD32
OTRS Новобранец
Сообщения: 55
Зарегистрирован: 09 фев 2017, 15:18

Отправка POST-запроса в формате "multipart/form-data"

Сообщение VARD32 » 14 фев 2017, 15:56

Добрый день.
Сейчас раскуриваю девелоперский мануал OTRS раздела "2.5. Generic Interface Modules"

Там приводится пример POST запроса который отправляет данные да указанный хост.

Проблема в том, что мне нужно так же, отправить POST-запрос, из собственного модуля но в формате "multipart/form-data", что отображает консоль google chrome в разделе Request Payload.
Именно этот формат используется сторонним (закрытым) приложением, чтобы передать данные нужному мне хосту.

Я хочу сделать (эмулировать) то же самое, только из модуля OTRS, чтобы отказаться от этого закрытого приложения в будущем.

Из консоли хрома видно, что данные передаются так:

------WebKitFormBoundaryBj4ZYS55NWb0iHvt
Content-Disposition: form-data; name="bts_id"

0032341
------WebKitFormBoundaryBj4ZYS55NWb0iHvt
Content-Disposition: form-data; name="reporter_id"


------WebKitFormBoundaryBj4ZYS55NWb0iHvt
Content-Disposition: form-data; name="file_name"; filename=""
Content-Type: application/octet-stream


------WebKitFormBoundaryBj4ZYS55NWb0iHvt
Content-Disposition: form-data; name="client_id"

254957
------WebKitFormBoundaryBj4ZYS55NWb0iHvt
Content-Disposition: form-data; name="priority_class"

C
------WebKitFormBoundaryBj4ZYS55NWb0iHvt
Content-Disposition: form-data; name="call_name"

0032341 Test2
------WebKitFormBoundaryBj4ZYS55NWb0iHvt
Content-Disposition: form-data; name="call_descr"

for test purposes

...

и так далее.

Народ, подскажите пожалуйста, какой функционал OTRS мне задействовать, чтобы передать данные нужному хосту в формате "multipart/form-data" ?

VARD32
OTRS Новобранец
Сообщения: 55
Зарегистрирован: 09 фев 2017, 15:18

Re: Отправка POST-запроса в формате "multipart/form-data"

Сообщение VARD32 » 15 фев 2017, 09:16

Я конечно понимаю, что новичек в OTRS, но некоторые вещи для меня не понятны совсем.

Точнее я пытаюсь отправить POST запрос на фэйковый адрес, вроде бы никаких ошибок нет, но в консоли гуглхрома тишина, Wireshark никакой активности связанной с моим запросом не видит.

Запрос делаю так:

Код: Выделить всё

    my $url = 'http://fakeserver/';
    my $browser = LWP::UserAgent -> new();

    $browser->post($url, [ 'a' => '1',
			   'b' => '2', 
 			   'c' => '3', ]);
Тишина....

Решил в слове "post" сделать ошибку - отработало. Выкинуло ошибку. Значит этот код отрабатывает в никуда или не отрабатывает вовсе.

Не могу понять что не так...?

Ответить