如何从卷曲后
问题描述:
我试图使用卷曲没有任何标题后的XML服务器中删除所有的标题,但我似乎无法摆脱以下头:如何从卷曲后
Content-Disposition: form-data; name="data"; filename="tempData.xml".
有谁知道如何删除这些标题并发送文件?
代码如下:
$URL = www.myurl.com/process/php;
//get post data
$post = array("data"=>"@tempData.xml");
//add headers
/*$Headers = array
("POST HTTP/1.0"
, "Accept: text/xml"
, "Content-type: text/xml"
);*/
//$Headers = array("");
//create curl instance and set options
$CH = curl_init($URL);
curl_setopt($CH, CURLOPT_TIMEOUT, 60); //timeout after 60 seconds
curl_setopt($CH, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($CH, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($CH, CURLOPT_HTTPHEADER, 0);
curl_setopt($CH, CURLOPT_HEADER, 0);
curl_setopt($CH, CURLOPT_POST, true);
curl_setopt($CH, CURLOPT_POSTFIELDS, $post); // add post fields
//echo curl_error($CH);
$output = curl_exec($CH);
$info = curl_getinfo($CH);
//print_r($info);
if($info['http_code'] != 200){
//header('HTTP/1.0 500 Could Not Send XML');
echo 'error ' . $info["http_code"];
curl_close($CH);
exit(1);
}
curl_close($CH)
;
答
如果以这种方式完成,这是不可能的。
当您选择使用libcurl做多部分formpost时,它实际上会根据规范做一个表格。它最初是在RFC1867中指定的,并且它已经指定了内容处置:应该在每个表单部分。
如果您希望自己做不符合规定的帖子,那么请完全制定您自己的缓冲区,而不是依赖libcurl的多部分formpost支持。
最后让我说你指定自定义标题的注释掉的代码是错误的,因为它在标题中包含请求行。
你为什么要这样? – 2013-02-15 20:59:14