Heim  >  Artikel  >  Backend-Entwicklung  >  PHP用CURL访问远程URL出现:Cannot modify header information...错误

PHP用CURL访问远程URL出现:Cannot modify header information...错误

WBOY
WBOYOriginal
2016-08-23 09:17:481482Durchsuche

curl代码:

<code>        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);  //请求URL
        curl_setopt($ch, CURLOPT_HEADER, 0);  //禁止输出头部信息
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //获取信息以文件流的格式返回
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        if( !is_null($postData) ){
            curl_setopt($ch, CURLOPT_POST, 1);  //POST提交
            curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
        }
        $return = curl_exec($ch);
        curl_close($ch);
        return $return;</code>

出现错误:

<code>Cannot modify header information - headers already sent by...</code>

直接在浏览器中访问URL并没有爆出错误。

我在网上也搜索了上述问题的解决方法,大部分都是修改PHP文件或者修改PHP配置等。。。但是我的想法是,用CURL达到和浏览器访问同样的效果?该怎么实现?因为浏览其访问该URL并没有错误产生。

回复内容:

curl代码:

<code>        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);  //请求URL
        curl_setopt($ch, CURLOPT_HEADER, 0);  //禁止输出头部信息
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //获取信息以文件流的格式返回
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        if( !is_null($postData) ){
            curl_setopt($ch, CURLOPT_POST, 1);  //POST提交
            curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
        }
        $return = curl_exec($ch);
        curl_close($ch);
        return $return;</code>

出现错误:

<code>Cannot modify header information - headers already sent by...</code>

直接在浏览器中访问URL并没有爆出错误。

我在网上也搜索了上述问题的解决方法,大部分都是修改PHP文件或者修改PHP配置等。。。但是我的想法是,用CURL达到和浏览器访问同样的效果?该怎么实现?因为浏览其访问该URL并没有错误产生。

你需要一个 封装好 curl 的库

我查了查stackoverflow,可能是你的文件编码带了BOM头。
尝试将编码改为UTF-8无BOM格式。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn