php curl不会发送大型xml

时间:2016-07-03 05:05:09

标签: php xml .htaccess curl

我使用curl将XML发送到Web服务,如下所示,当我的XML很短时没有问题,但是当我想发送大型XML时,我得到Recv failure: Connection reset by peerhttp://www.w3.org/2005/08/addressing/soap/faultsoapenv:Receivercom.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog at [row,col {unknown-source}]: [1,0]错误。 我从标题中删除了Content-Length但没有任何更改。我还添加了.htaccessphp_value post_max_size 1024M代码文件。我该如何解决这个问题?

$url     = "http:/xxxx?wsdl";
$header  = "POST http://xxxxx/ HTTP/1.1\r\n";
$header .= "Content-Type: text/xml;charset=UTF-8 \r\n";
$header .= "SOAPAction: '' \r\n";
$header .= "servicekey:".$servicekey."\r\n";
$header .= "Content-Length: 2171 \r\n"; 
$header .= "Host: x.x.x.x:xx \r\n";
$header .= "Connection: Keep-Alive\r\n";
$header .= "User-Agent: Apache-HttpClient/4.1.1 (java 1.5)\r\n\r\n";
$header .= $post_string;

$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 100);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $header);
curl_setopt($ch, CURLOPT_VERBOSE, true);

$data = curl_exec($ch);

if(curl_errno($ch))
  {
    $error = array();
    array_push($error, curl_error($ch));
    return $error;
  }

 else
      {
        $result = array();
        array_push($result, $data);
        return $result;
      }

0 个答案:

没有答案