Php 如果设置为false,cUrl将继续发送头信息

Php 如果设置为false,cUrl将继续发送头信息,php,curl,header,http-headers,zend-framework2,Php,Curl,Header,Http Headers,Zend Framework2,使用cUrl,我希望获得一个xml文件,以便在使用SimpleXmlElement之后读取它。但是因为cUrl在响应时不断发送头信息,所以我的XML文档是无效的 我必须做什么才能保留HTTP头信息 返回的部分数据: string(8056) "HTTP/1.1 200 OK\r\nServer: Apache-Coyote/1.1\r\nContent-Type: text/xml\r\nDate: Wed, 19 Dec 2012 11:15:45 GMT\r\n\r\n <?x

使用cUrl,我希望获得一个xml文件,以便在使用SimpleXmlElement之后读取它。但是因为cUrl在响应时不断发送头信息,所以我的XML文档是无效的

我必须做什么才能保留HTTP头信息

返回的部分数据:

string(8056) "HTTP/1.1 200 OK\r\nServer: Apache-Coyote/1.1\r\nContent-Type: text/xml\r\nDate: Wed, 19 Dec 2012 11:15:45 GMT\r\n\r\n
    <?xml version="1.0"?>\n
提前谢谢


Nick

根据PHP手册,CURLOPT_头应该设置为true或false

要删除标题输出,只需添加以下代码:

CURLOPT_HEADER => false
$request = new Request();
$request->setUri($url);

$adapter = new Curl();
$client  = new Client();
$client->setAdapter($adapter);

$adapter->setOptions(array(
    'curloptions' => array(
        CURLOPT_HEADER => false,
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_CONNECTTIMEOUT => 4
    )
));

$response = $client->dispatch($request);
我不知道您使用的是什么cURL类,因为PHP中没有内置这样的类

完整代码:

CURLOPT_HEADER => false
$request = new Request();
$request->setUri($url);

$adapter = new Curl();
$client  = new Client();
$client->setAdapter($adapter);

$adapter->setOptions(array(
    'curloptions' => array(
        CURLOPT_HEADER => false,
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_CONNECTTIMEOUT => 4
    )
));

$response = $client->dispatch($request);

这对你有用吗?否则我会给你一个更新的答案。

需要使用“$response->getBody();”!这就成功了

$request=新请求(); $request->setUri($url)


你在用什么图书馆?new Curl()不是普通的PHP…我使用use Zend\Http\Request;使用Zend\Http\Client;使用Zend\Http\Client\Adapter\Curl;