|
| Дата |
|
USD/RUB | 93.4409 | BTC/USD | 64601.1707 |
|
|
|
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии. |
24.01.2009, 23:54
|
#1
|
hustle
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,890
Бабло: $1717315
|
curl multipart/form-data
как быть с курлом в таком случае?
Content-Type: multipart/form-data; boundary=---------------------------257062384924075
Content-Length: 961
-----------------------------257062384924075
Content-Disposition: form-data; name="filedata"; filename=""
Content-Type: application/octet-stream
-----------------------------257062384924075
Content-Disposition: form-data; name="_removeImage"
true
-----------------------------257062384924075
Content-Disposition: form-data; name="firstName"
first
-----------------------------257062384924075
Content-Disposition: form-data; name="lastName"
last
-----------------------------257062384924075
Content-Disposition: form-data; name="location"
usa
-----------------------------257062384924075
Content-Disposition: form-data; name="homepage"
http://abc.com
-----------------------------257062384924075
Content-Disposition: form-data; name="bio"
my bio here
and here yes
-----------------------------257062384924075
Content-Disposition: form-data; name="interests"
no interests
-----------------------------257062384924075--
HTTP/1.x 302 Moved Temporarily
Пост запрос нужно делать массивом? Если да то как записать? ) спасибо
|
|
|
25.01.2009, 00:50
|
#2
|
Дохуя дорвейщик
Регистрация: 26.11.2008
Сообщений: 898
Бабло: $55079
|
дык
PHP код:
$post = array(
'value' => 'data',
);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
__________________
If you can dream - and not make dreams your master
|
|
|
25.01.2009, 01:16
|
#3
|
hustle
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,890
Бабло: $1717315
ТС -->
|
ТС
сделал так и нихуя (
PHP код:
$post = array(); $post[] = '-----------------------------'.$bound; $post[] = 'Content-Disposition: form-data; name="filedata"; filename=""'; $post[] = 'Content-Type: application/octet-stream'; $post[] = ''; $post[] = ''; $post[] = '-----------------------------'.$bound; $post[] = 'Content-Disposition: form-data; name="_removeImage"'; $post[] = ''; $post[] = 'true'; $post[] = '-----------------------------'.$bound; $post[] = 'Content-Disposition: form-data; name="firstName"'; $post[] = ''; $post[] = 'first'; $post[] = '-----------------------------'.$bound; $post[] = 'Content-Disposition: form-data; name="lastName"'; $post[] = ''; $post[] = 'last'; $post[] = '-----------------------------'.$bound; $post[] = 'Content-Disposition: form-data; name="location"'; $post[] = ''; $post[] = 'usa'; $post[] = '-----------------------------'.$bound; $post[] = 'Content-Disposition: form-data; name="homepage"'; $post[] = ''; $post[] = 'http://abc.com'; $post[] = 'Content-Disposition: form-data; name="bio"'; $post[] = ''; $post[] = 'my bio here'; $post[] = '-----------------------------'.$bound; $post[] = 'Content-Disposition: form-data; name="interests"'; $post[] = ''; $post[] = 'no interests'; $post[] = '-----------------------------'.$bound.'--'; $post[] = '';
$post=join("\r\n", $post);
$cr=curl_init($url); curl_setopt($cr, CURLOPT_TIMEOUT, 60); curl_setopt($cr, CURLOPT_HEADER, 1); curl_setopt($cr, CURLOPT_PROXY, $proxy); curl_setopt($cr, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5); curl_setopt($cr, CURLOPT_HTTPHEADER, array("Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/x-icq, */*","Accept-Language: en-US;en;q=0.5","UA-CPU: x86","User-Agent: Opera/9.10 (Windows NT 5.1; U; en)","Connection: Keep-Alive","Content-Type: multipart/form-data; boundary=---------------------------$bound")); // curl_setopt($cr, CURLOPT_CUSTOMREQUEST, "Content-Type: multipart/form-data; boundary=---------------------------'.$bound"); curl_setopt($cr, CURLOPT_COOKIEFILE, $cfile); curl_setopt($cr, CURLOPT_COOKIEJAR, $cfile); if ($ref!='') curl_setopt($cr, CURLOPT_REFERER, $ref); curl_setopt($cr, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($cr, CURLOPT_FOLLOWLOCATION, true); curl_setopt($cr, CURLOPT_ENCODING, 'gzip,deflate'); curl_setopt($cr, CURLOPT_RETURNTRANSFER, 1); curl_setopt($cr, CURLOPT_POST, 1); curl_setopt($cr, CURLOPT_POSTFIELDS, $post); $r = curl_exec($cr); curl_close ($cr);
походу кроме меня тут никто не разберется ) ебучая ошибка курла malformed еще вываливается часто
Последний раз редактировалось Hector; 25.01.2009 в 01:27.
|
|
|
25.01.2009, 01:27
|
#4
|
Senior Member
Регистрация: 14.11.2008
Сообщений: 184
Бабло: $13920
|
А оно так работать и не будет , Домкрат правильно намекнул.
PHP код:
$postdata = array( '_removeImage' => 'true', 'firstName' => 'first', 'lastName' => 'last', 'location' => 'usa', 'homepage' => 'http://abc.com' );
этот массив неполный, придётся его ещё добить
потом в курле
PHP код:
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
|
|
|
25.01.2009, 01:28
|
#5
|
Дохуя дорвейщик
Регистрация: 26.11.2008
Сообщений: 898
Бабло: $55079
|
он сам сформирует post-запрос, передавай только поля нужные, типа:
PHP код:
array('interests'=>'no interests');
__________________
If you can dream - and not make dreams your master
|
|
|
25.01.2009, 01:29
|
#6
|
hustle
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,890
Бабло: $1717315
ТС -->
|
ТС
а вот оно где... пиздец, спасибо парни щас поколупаю
|
|
|
25.01.2009, 01:37
|
#7
|
hustle
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,890
Бабло: $1717315
ТС -->
|
ТС
PHP код:
$postdata = array(
'_removeImage' => 'true',
'firstName' => 'first',
'lastName' => 'last',
'location' => 'usa',
'homepage' => 'http://abc.com',
'bio' => 'my bio here',
'interests' => 'no'
);
и куй собачий
|
|
|
25.01.2009, 01:41
|
#8
|
Senior Member
Регистрация: 14.11.2008
Сообщений: 184
Бабло: $13920
|
ыыы) яж написал "этот массив неполный, придётся его ещё добить"
тама не все поля
допиши 'filedata'=>'(тут что тебе надо)',
|
|
|
25.01.2009, 01:59
|
#9
|
Senior Member
Регистрация: 15.04.2007
Сообщений: 133
Бабло: $12765
|
Кстати, а кто-нибудь в курсе по какому принципу формируется число вот тут:
Цитата:
boundary=---------------------------257062384924075
|
и учитывается ли оно при обработке отправленного POST запроса?
|
|
|
25.01.2009, 02:32
|
#10
|
Senior Member
Регистрация: 14.11.2008
Сообщений: 184
Бабло: $13920
|
"boundary" - определяет границы строк.
Мануал тут hxxp://book.itep.ru/4/4/mime.htm
Можно начинать курить с "5.1.1. Общий синтаксис", а ещё лучше с самого начала
|
|
|
|