【问题标题】:What does this header means in php这个标头在php中是什么意思
【发布时间】:2012-01-23 07:00:53
【问题描述】:

使用 curl 获取 url 的源代码后,我得到了这个:

HTTP/1.1 200 OK Cache-Control: private Content-Length: 7036 Content-Type: text/html; charset=utf-8 Server: Microsoft-IIS/7.5 X-AspNet-Version: 2.0.50727 Set-Cookie:

然后我得到源代码,但不像我用浏览器打开页面并查看源代码时看到的源代码。

【问题讨论】:

    标签: cookies curl header


    【解决方案1】:

    这只是来自您请求页面的服务器的 http 标头响应,它是 200 OK,这意味着一切正常。

    您在源代码中看到此内容的原因是您将 curl 选项 CURLOPT_HEADER 设置为 true,将其设置为 false,您将不会再看到标头输出。

    curl_setopt($ch, CURLOPT_HEADER, false);
    

    PHP 手册参考: http://www.php.net/manual/en/function.curl-setopt.php

    【讨论】:

    • 好的,谢谢。为什么当我使用浏览器打开 URL 时,我没有看到完整的源页面?
    • 嗯,这取决于你到底在做什么,你是在浏览器的命令行中做的吗?您在执行此操作时是否输出其他任何内容?在我看来,可能有一些东西阻碍了浏览器呈现您正在提取的 html 的能力。告诉我更多背景信息,我也许可以提供更好的答案,具体告诉我你在做什么,我可以提供最好的帮助。
    • 这是我的代码:function curl_download($Url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $Url); $agent = "Mozilla/4.0 (兼容; MSIE 5.01; Windows NT 5.0)"; curl_setopt($ch, CURLOPT_USERAGENT, $agent); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_BINARYTRANSFER, true); curl_setopt ($ch,CURLOPT_VERBOSE,false); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch,CURLOPT_SSLVERSION,3); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE);
    • curl_setopt($ch, CURLOPT_TIMEOUT, 0); curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1); curl_setopt($ch, CURLOPT_FORBID_REUSE, 1); $output = curl_exec($ch); curl_close($ch);返回$输出;当我用浏览器打开 url 时,我得到的源代码不一样。
    • 一个注释,也许在答案 cmets 中使用 pastebin 代码。无论如何,从您的代码来看,似乎没有任何问题,我假设它在函数本身之外。如果您只是简单地回显从函数返回的字符串而没有任何其他输出,它应该在浏览器中正确呈现。您是否在使用此函数的脚本中使用任何其他代码?如果是这样,可能就是这样,请检查您输出的其他内容并检查任何包含内容。它也可能是一个 php 通知或警告,那就是搞砸了。我可以看到这是在服务器上直播吗?
    猜你喜欢
    • 2014-02-03
    • 2010-12-13
    • 2017-01-29
    • 2011-01-29
    • 2010-12-30
    • 2014-03-16
    • 1970-01-01
    • 2011-05-28
    • 1970-01-01
    相关资源
    最近更新 更多