curl multipart/form-data - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB93.4409
BTC/USD64601.1707
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 24.01.2009, 23:54   #1
Hector
hustle
 
Аватар для Hector
 
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,890
Бабло: $1717315
Отправить сообщение для Hector с помощью Jabber
По умолчанию 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


Пост запрос нужно делать массивом? Если да то как записать? ) спасибо
Hector вне форума  
Старый 25.01.2009, 00:50   #2
Домкрат
Дохуя дорвейщик
 
Аватар для Домкрат
 
Регистрация: 26.11.2008
Сообщений: 898
Бабло: $55079
По умолчанию

дык
PHP код:
$post = array(
        
'value'    => 'data',
    );
curl_setopt($chCURLOPT_POST1);
curl_setopt($chCURLOPT_POSTFIELDS$post); 
__________________
If you can dream - and not make dreams your master
Домкрат вне форума  
Старый 25.01.2009, 01:16   #3
Hector
hustle
 
Аватар для Hector
 
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,890
Бабло: $1717315
ТС -->
Отправить сообщение для Hector с помощью Jabber
автор темы ТС По умолчанию

сделал так и нихуя (

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($crCURLOPT_TIMEOUT60);
    
curl_setopt($crCURLOPT_HEADER1);
    
curl_setopt($crCURLOPT_PROXY$proxy);
    
curl_setopt($crCURLOPT_PROXYTYPECURLPROXY_SOCKS5);
    
curl_setopt($crCURLOPT_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($crCURLOPT_COOKIEFILE$cfile);
    
curl_setopt($crCURLOPT_COOKIEJAR$cfile);
    if (
$ref!=''curl_setopt($crCURLOPT_REFERER$ref);
    
curl_setopt($crCURLOPT_SSL_VERIFYPEERfalse);
    
curl_setopt($crCURLOPT_FOLLOWLOCATIONtrue);
    
curl_setopt($crCURLOPT_ENCODING'gzip,deflate');
    
curl_setopt($crCURLOPT_RETURNTRANSFER1);
    
curl_setopt($crCURLOPT_POST1);
    
curl_setopt($crCURLOPT_POSTFIELDS$post);
    
$r curl_exec($cr);
    
curl_close ($cr); 
походу кроме меня тут никто не разберется ) ебучая ошибка курла malformed еще вываливается часто

Последний раз редактировалось Hector; 25.01.2009 в 01:27.
Hector вне форума  
Старый 25.01.2009, 01:27   #4
azgard
Senior Member
 
Аватар для azgard
 
Регистрация: 14.11.2008
Сообщений: 184
Бабло: $13920
По умолчанию

А оно так работать и не будет , Домкрат правильно намекнул.

PHP код:
$postdata = array(
        
'_removeImage'    => 'true'
        
'firstName'       => 'first'
        
'lastName'      => 'last',
        
'location'     => 'usa',
        
'homepage'     => 'http://abc.com'
    
); 
этот массив неполный, придётся его ещё добить

потом в курле
PHP код:
curl_setopt($chCURLOPT_POSTFIELDS$postdata); 
__________________
icq 353-220-557
жаба на мобе [email protected]
azgard вне форума  
Старый 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
Hector
hustle
 
Аватар для Hector
 
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,890
Бабло: $1717315
ТС -->
Отправить сообщение для Hector с помощью Jabber
автор темы ТС По умолчанию

а вот оно где... пиздец, спасибо парни щас поколупаю
Hector вне форума  
Старый 25.01.2009, 01:37   #7
Hector
hustle
 
Аватар для Hector
 
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,890
Бабло: $1717315
ТС -->
Отправить сообщение для Hector с помощью Jabber
автор темы ТС По умолчанию

PHP код:
$postdata = array(
        
'_removeImage'    => 'true'
        
'firstName'       => 'first'
        
'lastName'      => 'last',
        
'location'     => 'usa',
        
'homepage'     => 'http://abc.com',
        
'bio'    => 'my bio here',
        
'interests'    => 'no'
    
); 
и куй собачий
Hector вне форума  
Старый 25.01.2009, 01:41   #8
azgard
Senior Member
 
Аватар для azgard
 
Регистрация: 14.11.2008
Сообщений: 184
Бабло: $13920
По умолчанию

ыыы) яж написал "этот массив неполный, придётся его ещё добить"

тама не все поля

допиши 'filedata'=>'(тут что тебе надо)',
__________________
icq 353-220-557
жаба на мобе [email protected]
azgard вне форума  
Старый 25.01.2009, 01:59   #9
cossack
Senior Member
 
Регистрация: 15.04.2007
Сообщений: 133
Бабло: $12765
По умолчанию

Кстати, а кто-нибудь в курсе по какому принципу формируется число вот тут:
Цитата:
boundary=---------------------------257062384924075
и учитывается ли оно при обработке отправленного POST запроса?
cossack вне форума  
Старый 25.01.2009, 02:32   #10
azgard
Senior Member
 
Аватар для azgard
 
Регистрация: 14.11.2008
Сообщений: 184
Бабло: $13920
По умолчанию

"boundary" - определяет границы строк.

Мануал тут hxxp://book.itep.ru/4/4/mime.htm

Можно начинать курить с "5.1.1. Общий синтаксис", а ещё лучше с самого начала
__________________
icq 353-220-557
жаба на мобе [email protected]
azgard вне форума