PHP:在卷曲标题中发送边界值

时间:2013-03-03 08:09:28

标签: php curl

我想在curl标题中发送以下数据。

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是常数值。

1 个答案:

答案 0 :(得分:0)

您无需手动发送此值。 Curl将自己处理这个问题。

修改

CURLOPT_POSTFIELDS可以接受数组,它会自动附加Content-Type以及所需的边界。以下是PHP文档中的quote

  

如果value是数组,则Content-Type标头将设置为   多部分/格式的数据。从PHP 5.2.0开始,如果是文件,则值必须是数组   使用@前缀传递给此选项。

例如:

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