我正在尝试使用cURL POST从端点获取一些数据:
文档说明如何验证和获取数据:
“ ......结合使用OAuth2 grant_types和JWT令牌
要授权,请使用以下代码:
curl -X POST \
'http://api.example.com/v1/api/auth/login?grant_type=client_id' \
-H 'Authorization: Basic cHVibGljX2tleTpwddl2YXRJX2xleQzd'
”
基于上面的信息,我为请求构建了以下代码:
$handle = curl_init('http://api.example.com/v1/api/auth/login?
grant_type=client_id');
$header = array();
$header[] = 'Content-Type: application/json';
$header[] = 'Authorization: Basic DdJfd1Bxx2NxMkYwNjzzdl9mejJZIFKVQlBc';
curl_setopt($handle, CURLOPT_POST, true);
curl_setopt($handle, CURLOPT_POSTFIELDS, $header);
$resp = curl_exec($handle);
var_dump($resp);
当我执行代码时,它会无限循环运行,最终超时。
代码格式是否正确,或者我提供的授权密钥是否有问题?密钥是Base64表示形式。
谢谢!
更新:我也尝试了以下方法:
$header[] = 'Content-Type: application/json';
$header[] = 'Authorization: Basic adfsidfosfosfodsofs';
$content = "grant_type=client_id";
$curl = curl_init();
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_POSTFIELDS, $content);
答案 0 :(得分:0)
也许试试看:
$handle = curl_init('http://api.example.com/v1/api/auth/login?grant_type=client_id');
$header = array();
$header[] = 'Content-Type: application/json';
$header[] = 'Authorization: Basic DdJfd1Bxx2NxMkYwNjzzdl9mejJZIFKVQlBc';
curl_setopt($handle, CURLOPT_HTTPHEADER, $header);
$resp = curl_exec($handle);
var_dump(curl_error($handle));