【问题标题】:Get HTML Source Code Despite Of Forwarding获取 HTML 源代码,尽管转发
【发布时间】:2013-04-29 23:50:00
【问题描述】:

我正在尝试获取网站的 HTML 源代码。

但是使用 php 和 file_get_contents() 它给我发送了另一个源代码 并使用 cURL 我找到了 302。

$c = curl_init($http);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);


$html = curl_exec($c);

if (curl_error($c))
    die(curl_error($c));


$status = curl_getinfo($c, CURLINFO_HTTP_CODE);

curl_close($c);

echo $html;

我尝试通过 C# 下载它,但同样,它给我发送了另一个源代码。

我如何获得它的内容?你有什么想法吗?

【问题讨论】:

    标签: c# php html web


    【解决方案1】:

    302 是一个重定向,尝试设置 curl 跟随它: curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);

    【讨论】:

    • 我试过了。它现在可以工作了,但是这个源代码也不同了。
    【解决方案2】:

    HTTP 代码 302 和 301 是到另一个页面的转发器,理想情况下没有要读取的内容。

    cURL 默认不跟随重定向,这就是为什么你会得到 302 代码的返回。您必须设置选项以在 cURL 上自动跟随新位置:

        curl_setopt($c, CURLOPT_FOLLOWLOCATION, true);
    

    【讨论】:

      猜你喜欢
      • 2013-04-06
      • 2011-03-03
      • 1970-01-01
      • 2013-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多