Форум программистов, компьютерный форум, киберфорум
PHP: сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/132: Рейтинг темы: голосов - 132, средняя оценка - 4.90
2 / 2 / 1
Регистрация: 07.03.2010
Сообщений: 109

Отправка данны в формате multipart/form-data cURL'ом

12.02.2012, 04:27. Показов 25050. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Заставить сURL отправлять данные в формате multipart/form-data я могу, с помощью :
PHP
1
curl_setopt( $this->curlini, array('Content-Type: multipart/form-data;'));
А как отправлять сами данные? У меня есть 4 переменные, которые нужно отправить.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.02.2012, 04:27
Ответы с готовыми решениями:

Отправка запроса в формате multipart/form-data
в одном из api вконтакте указано что запрос нужно отправлять в формате multipart/form-data поле file я получил в таком виде ...

Curl post запрос в формате multipart/form-data
Не получается разобраться с данным запросом. Требуется отправить post запрос - загрузить изображения на сервер Ожидает данные в...

Curl --header 'Content-Type: multipart/form-data' -X POST --form filename=@lib.dll
Здравствуйте коллеги! Хорошего дня! Windows 10 CMD curl --header 'Content-Type: multipart/form-data' -X POST --form...

5
1080 / 1007 / 107
Регистрация: 28.02.2010
Сообщений: 2,889
12.02.2012, 09:36
Вроде так:
PHP
1
2
3
4
$postData[ 'login' ] = 'ololo';
$postData[ 'password' ] = 'ololo';
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
0
2 / 2 / 1
Регистрация: 07.03.2010
Сообщений: 109
12.02.2012, 16:41  [ТС]
Заголовок запроса получается такой:

Code
1
2
3
4
5
Host: site.ru
Accept: */*
Cookie: dle_user_id=1; selected_language=Russian; PHPSESSID=154a7200fc1c33059e83cbb35bcda895; dle_password=**************************
Content-Type: multipart/form-data;
Content-Length: 179
А должен быть примерно такой:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Host: site.ru
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:10.0.1) Gecko/20100101 Firefox/10.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://site.ru/admin.php?mod=files&action=quick&area=short_story&author=*******&news_id=
Cookie: orakul_com=3; selected_language=Russian; dle_user_id=1; dle_password=****************************; PHPSESSID=94fbf94369b3a8bb85de8da5e3ad355c
Content-Type: multipart/form-data; boundary=---------------------------41184676334
Content-Length: 1132
-----------------------------41184676334
Content-Disposition: form-data; name="subaction"
 
upload
-----------------------------41184676334
Content-Disposition: form-data; name="area"
 
short_story
-----------------------------41184676334
Content-Disposition: form-data; name="action"
 
quick
-----------------------------41184676334
Content-Disposition: form-data; name="images_number"
 
1
-----------------------------41184676334
Content-Disposition: form-data; name="file_1"; filename=""
Content-Type: application/octet-stream
 
 
-----------------------------41184676334
Content-Disposition: form-data; name="imageurl"
 
http://www.segodnya.ua/img/forall/a/143367/60.jpg
-----------------------------41184676334
Content-Disposition: form-data; name="serverfile"
 
 
-----------------------------41184676334
Content-Disposition: form-data; name="t_size"
 
200
-----------------------------41184676334
Content-Disposition: form-data; name="t_seite"
 
1
-----------------------------41184676334
Content-Disposition: form-data; name="make_thumb"
 
make_thumb
-----------------------------41184676334--
Добавлено через 1 час 0 минут
Нашел ошибку, очень глупая ) но из-за неё потерял 7 часов )
0
0 / 0 / 0
Регистрация: 13.07.2013
Сообщений: 5
13.07.2013, 08:25
Подскажите в чем же у вас была ошибка?
И как правильно передать фаил ?
0
 Аватар для Shevchuk
8 / 8 / 0
Регистрация: 21.07.2013
Сообщений: 54
23.07.2013, 00:48
Цитата Сообщение от showforme Посмотреть сообщение
Подскажите в чем же у вас была ошибка?
И как правильно передать фаил ?
Передавать файл нужно через CURLOPT_POSTFIELDS как обычный POST-параметр, только немножко по-своему. Вот пример:
PHP
1
2
3
4
5
6
7
8
9
10
11
$file = '1.jpg'; //наш файл
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => 'http://site.ru',
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => array(
'file' => '@'.$file, //допустим что в форме для выбора файла name=file. Также можно указать дополнительно тип('@'.$file.';type=image/jpeg'
)
CURLOPT_POST => false
));
curl_exec($ch);
Код не проверял, набрал только что, но вроде всё верно.
1
 Аватар для samorodov
0 / 0 / 0
Регистрация: 08.03.2013
Сообщений: 11
21.11.2016, 03:39
Я это делаю так - через PUT, как требует Яндекс
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    $file = '222.jpg';
    echo filesize($file).'<br>';
    $link = (require 'keepurl.php');
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $link);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_POSTFIELDS, file_get_contents($file));
    $answer = curl_exec($ch);
    $info = curl_getinfo($ch);
    curl_close($ch);
    if ($info['http_code'] != '201') {echo 'Error';}
    else {echo 'OK';}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.11.2016, 03:39
Помогаю со студенческими работами здесь

Кодировка и multipart/form-data в форме
Доброго дня! Как только использую в форме enctype=&quot;multipart/form-data&quot; внезапно и совершенно неожиданно вылазит бок с кириллическим...

Проблемы с enctype=multipart/form-data
PHP Version 4.1.2 не передаются глобальные переменные из формы в форму. убераешь enctype=multipart/form-data, передаются. но...

Закачка файлов на сервер используя multipart/form-data
Мучаюсь уже очень давно, код очень длинный... Нужно короче закачать файлы на сервак, использую multipart/form-data, а сколько не бился...

Загрузка файлов методом post через multipart/form-data
Проблема следующая: пытаюсь загрузить картинку на сервер vk.com указанным в заголовке методом. Все заголовки и всё тело запроса...

Передача данных POST и enctype="multipart/form-data"
Здравствуйте, подскажите пожалуйста. Имеется форма &lt;form action=&quot;mainpage.php&quot; method=&quot;POST&quot; enctype=&quot;multipart/form-data&quot;&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru