2013-02-15 63 views
0

我试图使用卷曲没有任何标题后的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) 

;

+0

你为什么要这样? – 2013-02-15 20:59:14

回答

0

如果以这种方式完成,这是不可能的。

当您选择使用libcurl做多部分formpost时,它实际上会根据规范做一个表格。它最初是在RFC1867中指定的,并且它已经指定了内容处置:应该在每个表单部分。

如果您希望自己做不符合规定的帖子,那么请完全制定您自己的缓冲区,而不是依赖libcurl的多部分formpost支持。

最后让我说你指定自定义标题的注释掉的代码是错误的,因为它在标题中包含请求行。