【问题标题】:PHP - API URL in terminal curl & in browser returns results, but in Gulp / webpack / PHP dev env returns 301?PHP - 终端 curl 和浏览器中的 API URL 返回结果,但在 Gulp / webpack / PHP dev env 中返回 301?
【发布时间】:2021-03-16 18:34:04
【问题描述】:

这让我发疯了。我有一个 PHP 项目访问 API,并且在我的 Gulp / Webpack / PHP 开发环境中不断收到 301 错误。 URL 可以直接在浏览器中返回结果,也可以在终端 cURL 调用中返回。

对我应该看哪里有什么想法吗?

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); // this url works in a browser
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); // 301

【问题讨论】:

    标签: php webpack gulp


    【解决方案1】:

    您需要使用选项CURLOPT_FOLLOWLOCATION 来关注“301 永久移动”

    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    

    https://www.php.net/manual/en/function.curl-setopt.php

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url); // this url works in a browser
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_FAILONERROR, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    $output = curl_exec($ch);
    $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    

    【讨论】:

    • 谢谢。我试过了,但它不起作用。我想知道 Gulp 配置中的 PHP 代理是否有某种原因导致了这种情况。
    猜你喜欢
    • 1970-01-01
    • 2016-06-17
    • 2017-09-25
    • 2018-10-05
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多