HTTP POST Multipart/form-data;
-
Джентельмены, подскажите, что то весь мозг сломался, как прикрепить файл в POST запросе вот его часть
------WebKitFormBoundaryJef48saaSffge Content-Disposition: form-data; name="File"; filename="absder.pdf" Content-Type: application/octet-stream {{PDF_FILE}}
Подставляю ресурс, файл вроде как крепится но размером 100 байт, что не оно явно, пробовал сюда ставить макрос [[FILE_CONTENT]] предварительно прочитав файл, файл тоже прикрепляется, но на выходе у получателя не соответствует формату вообще, то есть pdf-ом и не пахнет, также пробовал считывать как base64 тоже не срабатывает, зашел в тупик :(
-
@bigorat Попробуйте так:
"File","base64://" + [[FILE_CONTENT]]
Content-Type выставь application/octet-stream
Вот пример скрипта, для imgur.
На какой сайт заливать надо?
-
@Fox это не на сайт, это я сообщение на mail.ru отправляю POST запросом, все проходит кроме файла, не удается прикрепить, сейчас попробую по вашей рекомендации!
P.S. увы, не сработало, сам POST запрос вот какой
------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="form_sign" [[FORM_SIGN]] ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="form_token" [[FORM_TOKEN]] ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="message" zAKdMe9Q ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="old_charset" ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="draft_msg" ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="text" ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="HTMLMessage" 1 ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="htmlencoded" 0 ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="template_id" 1 ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="direction" re ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="orfo" rus ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="formessage" ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="last_msg_id" ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="sendauto" 0 ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="draftauto" 0 ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="as_msg" ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="clickFrom" ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="copy" yes ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="RealName" 0 ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="attached_ids" ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="send" Отправить ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="To" [[RECIPIENT]] ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="CC" ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="BCC" ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="Subject" [[SUBJECT]] ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="File"; filename="absder.pdf" Content-Type: application/octet-stream "File","base64://" + [[FILE_CONTENT]] ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="Body" [[TEMPLATE_HTML_RESULT]] ------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="captcha" ------WebKitFormBoundary[[RANDOM_STRING]]--
а в Content-Type
multipart/form-data; boundary=----WebKitFormBoundary[[RANDOM_STRING]]
-
http://bit.ly/2GtT5td
самая первая. Не то?
-
@forall похоже но не совсем то, хоть сервис и один но таким образом прикрепленного файла вообще не видно :(
-
@bigorat возможно таким образом получится - http://community.bablosoft.com/topic/2368/browserautomationstudio-20-1-0-has-been-released-выпущена-20-1-0-версия-browserautomationstudio/2
Возможность выполнять запросы через курл. Доки и примеры тут:
https://www.dropbox.com/sh/54kii8r85e5y5qt/AADujFuoeSw0ps4_43750rmsa?dl=0
-
@bigorat
Включаем конструктор
http://prntscr.com/i7q02r
Добавляем параметры и значения по очереди
http://prntscr.com/i7q0pd
Параметр File добавляем так
http://prntscr.com/i7q1vl
если там base64Но удобнее просто указать путь к файл в значение и добавить так
http://prntscr.com/i7q2izИ ставим тип данных
http://prntscr.com/i7q2uf
-
@DrPrime попробовал по вашему "рецепту", но письмо не отправляется, похоже не хватает
------WebKitFormBoundary
но куда его в конструкторе запросов ставить не ясно совсем. Но если прочитать файл в переменную [[FILE_CONTENT]]
без base64 и вставить её в конструкцию------WebKitFormBoundary[[RANDOM_STRING]] Content-Disposition: form-data; name="File"; filename="absder.pdf" Content-Type: application/octet-stream [[FILE_CONTENT]]
то файл распознается как pdf, но почему то видны только пустые страницы. Возможно что то с кодировкой при чтении не то?
-
@bigorat said in HTTP POST Multipart/form-data;:
попробовал по вашему "рецепту", но письмо не отправляется, похоже не хватает
------WebKitFormBoundaryэто добавляется автоматом.
Если через конструктор не получается - значит что то не так делаете, не так добавили параметр и т.п.
-
@DrPrime ну незнаю, все параметры вбиваю уже который раз, но письмо отправляется только в новой версии http клиента, если использовать конструктор, то никак :(
P.S. @DrPrime что бы я без вас делал, спасибо, перезагрузил скрипт и заработало по вашей рекомендации :)