Как передать несколько строк в запросе через cURL?

selectel56

Client
Регистрация
11.12.2016
Сообщения
98
Благодарностей
48
Баллы
18
Друзья, перелопатил все что мог в интернете, но так и не нашел.

Имеются данные вида:

C#:
-----------------------------121273782236704107771489137518
Content-Disposition: form-data; name="email"

[email protected]
-----------------------------121273782236704107771489137518
Content-Disposition: form-data; name="token"

124937936632190436932194510557608644555:7f74555c75606a5a190500030000060c0102050007080e050105020807000000040200090c0d0606010f0303010407001850405f674403
-----------------------------121273782236704107771489137518
Content-Disposition: form-data; name="message_id"

6bDf7E833A49B63efF6750A8223d2855
-----------------------------121273782236704107771489137518
Content-Disposition: form-data; name="htmlencoded"

false
-----------------------------121273782236704107771489137518
Content-Disposition: form-data; name="file"; filename="ms.db-s"
Content-Type: application/octet-stream

тут идут данные файла в бинарном виде.
-----------------------------121273782236704107771489137518
Content-Disposition: form-data; name="_file"

ms.db-s
-----------------------------121273782236704107771489137518--
У меня не получается данные файла в бинарном виде среди этого текста воткнуть... :bc::bc::bc:.

UPD: В общем если склеивать подряд данные с помощью --data-binary, то получается почти то, что нужно, но перед бинарными данными и после вставляются мусорные символы которых нет в оригинале, курл почему то туда вставляет & знак, ну бред какой то... А ведь почти получилось.. помогите кто понимает.

для текста делал такую команду: curl -v -k --proxy "127.0.0.1:8888" -X POST "https://reqbin.com/echo/post/json" -H "Content-Type: www-application-test" --data-binary @c:/1.txt --data-binary @c:/1.rar --data-binary @c:/02.txt --data-binary @c:/2.txt

Где 1.txt это до бинарного текст, 1.rar сам файл что крикрепялем, 02.txt там перенос строки, 2.txt завершающий текст данных.

получается отправка такая идет, тут кусок:
C#:
-----------------------------121273782236704107771489137518
Content-Disposition: form-data; name="file"; filename="ms.db-s"
Content-Type: application/octet-stream

&BINARDATA&&
-----------------------------121273782236704107771489137518
Content-Disposition: form-data; name="_file"

ms.db-s
-----------------------------121273782236704107771489137518--
BINARDATA - это бинарные данные от файла что крепим. Между склейками этих файлов в итоге вставляется символ & зачем то.. Значит склеивать нельзя, надо все в одном как то умудриться отправить, но как???? :bc: :bc: :bc: :ah:

upd: в общем пока только новый костыль помог, склеиваем все что надо в один бинарник чтобы получить то что надо путем COPY /B 1.txt + 1.rar + 02.txt + 2.txt all.dat и далее уже в виде этого бинарника на сервак все и отправляем. Геморно, но пашет. Если кому помог - говорим спасибо, если есть свои предложения - напишите буду рад поучиться о профессионалов!
 
Последнее редактирование:

selectel56

Client
Регистрация
11.12.2016
Сообщения
98
Благодарностей
48
Баллы
18
Собственно вопросик: на C# как сдвинуть бинарные данные файла т.е. записать нужный текст до и после? Тут в посте пример склеивания 4 файлов, но я думаю можно на С# открыть rar архив, записать до него и после то что надо и сохранить его в .bin а потом уже в запросе curl передавать данные. Я понимаю c# учить мне надо, я его обязательно выучу, просто срочно надо.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)