2013-03-03 3 views
2

Я хочу отправить данные ниже в заголовках curl.PHP: Отправка граничных значений в заголовках скручивания

Content-Type: multipart/form-data; boundary=---------------------------28854217951032752725060171 

Я использовал ниже код, но это, кажется, не работает

$ch = curl_init(); 

curl_setopt($ch,CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); 
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.A.B.C Safari/525.13"); 
curl_setopt($ch,CURLOPT_HTTPHEADER,array('Content-Type: multipart/form-data; boundary=---------------------------28854217951032752725060171')); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($ch,CURLOPT_COOKIEJAR, "cookie.txt"); 
curl_setopt($ch,CURLOPT_COOKIEFILE, "cookie.txt"); 
curl_setopt($ch,CURLOPT_POST, 1); 
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string); 
$result = curl_exec($ch); 
$last = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL); 
$info = curl_getinfo($ch); 
return array($result,$last,$info); 
curl_close($ch); 

Что такое правильный способ отправить граничное значение.
P.s: 28854217951032752725060171 - постоянная величина.

+0

Почему нужно быть 'многочастному/форм-data'? Вы загружаете файл? –

ответ

0

Вам не нужно отправлять это значение вручную. Керл справится с этим сам по себе.

Edit:

CURLOPT_POSTFIELDS может принять массив, и он присоединит Content-Type, а также необходимых границ автоматически. Вот quote из PHP документации:

Если значение является массивом, заголовок Content-Type будет установлен многочастными/фасонными данные. Начиная с PHP 5.2.0, значение должно быть массивом, если файлы переданы этому параметру с префиксом @.

Например:

$data = array(
    'name' => 'Foo', 
    'file' => '@/absolute/path/to/some/file' 
); 
+1

как я могу отправить multipart/form-data; ? –

+0

@ Vishnu Simbu - данные передаются в curl engine через CURLOPT_POSTFIELDS - вы можете передать ему массив, который содержит абсолютные пути к файлам, которые вы хотите отправить. – cth

+0

hey $ fields - строковое значение, Как упоминать массив в нем? –

Смежные вопросы