将 CURL 转换为 PHP CURL 调用但出现授权错误
Convert CURL in to PHP CURL call but getting error of authorization
我正在像下面这样调用 cURL,但想转换成 PHP 格式
curl https://apis.voicebase.com/v2-beta/media \
--header "Authorization: Bearer $token" \
--form media=@/home/harshal/Desktop/100Hz_44100Hz_16bit_30sec.wav\
| tee media-post-response.json | jq '.'
上面的 cURL 想要转换成如下 PHP 格式
set_time_limit(0);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 0);
curl_setopt($ch, CURLOPT_LOW_SPEED_LIMIT, 0);
curl_setopt($ch, CURLOPT_LOW_SPEED_TIME, 60);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 300);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
$result = json_decode(curl_exec($ch),TRUE);
curl_close($ch);
但出现授权错误,但是当我将参数传递给 cURL(如 Token 和 audioUrl)时,它起作用了。但是当像上面那样传递参数时它不起作用 php CURL_OPT
检查 php curl official manual ,它说:
CURLOPT_HTTPHEADER
An array of HTTP header fields to set, in the format array('Content-type: text/plain', 'Content-length: 100')
所以我认为您需要将 $header
更改为 $header = array("Authorization: Bearer ${token}")
我正在像下面这样调用 cURL,但想转换成 PHP 格式
curl https://apis.voicebase.com/v2-beta/media \
--header "Authorization: Bearer $token" \
--form media=@/home/harshal/Desktop/100Hz_44100Hz_16bit_30sec.wav\
| tee media-post-response.json | jq '.'
上面的 cURL 想要转换成如下 PHP 格式
set_time_limit(0);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 0);
curl_setopt($ch, CURLOPT_LOW_SPEED_LIMIT, 0);
curl_setopt($ch, CURLOPT_LOW_SPEED_TIME, 60);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 300);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
$result = json_decode(curl_exec($ch),TRUE);
curl_close($ch);
但出现授权错误,但是当我将参数传递给 cURL(如 Token 和 audioUrl)时,它起作用了。但是当像上面那样传递参数时它不起作用 php CURL_OPT
检查 php curl official manual ,它说:
CURLOPT_HTTPHEADER
An array of HTTP header fields to set, in the format array('Content-type: text/plain', 'Content-length: 100')
所以我认为您需要将 $header
更改为 $header = array("Authorization: Bearer ${token}")