gpt4 book ai didi

php - 请求重定向,即使 CURLOPT_FOLLOWLOCATION 设置为 FALSE

转载 作者:可可西里 更新时间:2023-10-31 23:49:09 25 4
gpt4 key购买 nike

我是 PHP 新手。我搜索了 StackOverflow 并按照类似问题的答案中的说明进行操作。但是,这些说明对我不起作用。

问题是:

我正在尝试使用 PHP cURL 获取 HTML 进行解析。<强> http://actas.rfef.es/actas/NPortada 这是一个可公开访问的页面。当我通过浏览器的地址栏请求页面时,它工作正常。但是,如果请求是通过 cURL 发出的,我将被重定向到 http://actas.rfef.es/actas/NLogin (0 字节空白页)。我认为 useragent 可能是个问题并将 curl 的用户代理值和 followlocation 设置为 false,但它仍然重定向!

这是我的代码:

$home="http://actas.rfef.es/actas/NPortada";
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$home);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_HEADER, TRUE);
curl_setopt($ch,CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; rv:18.0)Gecko/20100101 Firefox/18.0");
curl_setopt($ch,CURLOPT_FOLLOWLOCATION, FALSE);
curl_setopt($ch,CURLOPT_COOKIEJAR, "cookies.txt");
echo curl_exec($ch);
curl_close($ch);

为什么它会重定向,即使 followLocation 设置为 false?该目标页面中没有元刷新标签。

如何避免被重定向并获取目标页面的html?我做错了什么?

过去 3 天我一直在为这个问题苦苦挣扎。请问有人能帮我吗?提前致谢。

最佳答案

浏览器正常!但是 curl(在 php 上)不起作用!然后看下面

始终检查命令行上的 curl 选项!因为它是如此简单!

  1. curl < url to visit >

  2. 查看浏览器开发工具的请求头!

和...

  1. 使用浏览器的请求 header 进行 curl

    curl < url to visit >

    -A "User-Agent"

    -e "Referer"

    --cookie "Cookie Key:value"

    等...

在你的情况下,

http://actas.rfef.es/actas/NPortada在浏览器上运行良好,但在 curl 上运行不佳

您可以使用 curl -v http://actas.rfef.es/actas/NPortada 查看重定向

并查看浏览器并使用开发工具....然后没有建立重定向!

enter image description here

并使用浏览器的请求 header 重试 curl! User-Agent 不工作,Referer 也不工作。

然后尝试使用 cookie 选项!

curl -v --cookie "JSESSIONID=B2F73A51E07D624FB205A114B2CC5D19" "http://actas.rfef.es/actas/NPortada"

我找到了解决方案。 http://actas.rfef.es/actas/NPortada必须用 cookie 请求!

关于php - 请求重定向,即使 CURLOPT_FOLLOWLOCATION 设置为 FALSE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14638862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com