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);
我无法从 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);