PHP:为 RESTful API 执行 cURL --location --request

PHP: performing cURL --location --request for a RESTful API

我无法从 PHP 脚本向 RESTful API 执行非常简单的请求。

以下:

curl --location --request GET 'https://api.thatrestfulsite.com/api/utilities/listassets?apiKey=0123456789'

在从命令行或在 bash 脚本中调用时工作得很好,但我很生气试图从 PHP 脚本执行相同的 cURL 请求,即试图翻译相同的使用 curl_setopt.

的 cURL 请求

我的意思是,下面的代码:

$url = 'https://api.thatrestfulsite.com/api/utilities/listassets?apiKey=0123456789'
$ch = curl_init();
curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, 'GET' );
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURL_HTTP_VERSION_2TLS, true );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$output = curl_exec( $ch );
$http_status = curl_getinfo( $ch, CURLINFO_HTTP_CODE );
echo "HTTP STATUS: $http_status\nREQ OUTPUT: $output";
curl_close( $ch );

...失败,出现意外的 HTTP 301(永久移动)状态。

我是 curl_setopt(棘手的主题恕我直言)的新手,我不确定,但我想问题是,虽然我已经阅读了文档,但我无法找到正确翻译“--location”指令的方法。

你能告诉我我错过了什么吗?

提前致谢。

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);