【问题标题】:PHP Header Location response as emptyPHP Header Location 响应为空
【发布时间】: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 请求被阻止。您联系过服务商吗?

标签: php header location


【解决方案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请求阻塞了,有点奇怪。
  • 嘿没问题,我希望你能弄明白。卷曲有时会很挑剔。祝你好运.. ~干杯
猜你喜欢
  • 1970-01-01
  • 2012-08-17
  • 1970-01-01
  • 2014-07-22
  • 2016-09-11
  • 1970-01-01
  • 2011-12-17
  • 2014-03-03
  • 2018-07-11
相关资源
最近更新 更多