PHP Header Location 响应为空

Posted

技术标签:

【中文标题】PHP Header Location 响应为空【英文标题】:PHP Header Location response as empty 【发布时间】:2019-05-10 11:41:53 【问题描述】:

我有一个类似this one 的网址。 我正在尝试从标题中获取位置,但它没有正常显示位置。 这是我获取标题信息的功能。

function headerInfo ($service_url) 
    $handle = curl_init($service_url);
    curl_setopt_array($handle, array(
        CURLOPT_RETURNTRANSFER => 1, 
        CURLOPT_SSL_VERIFYPEER => 0,
        CURLOPT_NOBODY => 0, 
        CURLOPT_HEADER => 1
    ));
    $curl_response = curl_exec($handle);
    return $curl_response;

来自 php 的响应:

从浏览器尝试时的响应(chrome 开发者工具结果):

【问题讨论】:

可能只是无效的参数或未知的哈希,或者 PHP/Curl 请求被阻止。您联系过服务商吗? 【参考方案1】:

尝试设置一个有效的用户代理。

像这样:

function headerInfo ($service_url) 
    $handle = curl_init($service_url);
    curl_setopt_array($handle, array(
        CURLOPT_USERAGENT => 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/51.0.2704.103 Safari/537.36',
        CURLOPT_RETURNTRANSFER => 1, 
        CURLOPT_SSL_VERIFYPEER => 0,
        CURLOPT_NOBODY => 0, 
        CURLOPT_HEADER => 1
    ));
    $curl_response = curl_exec($handle);
    return $curl_response;

您可以在此处找到有效用户代理的列表:

Valid User-Agents

【讨论】:

我之前尝试过,但没有任何改变,然后我从 curl 函数中删除了它。 您可以尝试将NOBODY 设置为1。 感谢您的回答。可能是服务器被cURL请求阻塞了,有点奇怪。 嘿没问题,我希望你能弄明白。卷曲有时会很挑剔。祝你好运.. ~干杯

以上是关于PHP Header Location 响应为空的主要内容,如果未能解决你的问题,请参考以下文章

跟随我在oracle学习php(36)

标头重定向后PHP $_SESSION为空

PHP基础知识

PHP使用header+Location实现网站301重定向

php执行了header("Location: index.php");后面程序会继续执行吗?

尝试使用 PHP Header("Location: ") 函数重定向