在 cURL 中運行這段代碼會給我 JSON 資料:
curl -X POST -H "Content-Type: application/json" -d '{"fund_id":"74","product_id":"22","from_date":"2017-01-01","to_date":"2022-01-12"}' https://api.hdfclife.com/api/funds/get-fund-nav
但是在 php 中使用 curl 時,我收到 NULL 作為資料:
$url = "https://api.hdfclife.com/api/funds/get-fund-nav";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$headers = array(
"Content-Type: application/json",
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$data = '{"fund_id":"74","product_id":"22","from_date":"2017-01-01","to_date":"2022-01-12"}';
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
//for debug only!
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$resp = curl_exec($curl);
curl_close($curl);
var_dump($resp);
?>
我在這里做錯了什么?我也是 PHP 新手,所以請放輕松。
uj5u.com熱心網友回復:
您呼叫的 URL 似乎已永久移動,它本身重定向請求并回傳狀態代碼“301 Moved Permanently”。默認情況下,php 中的 CURL 不支持重定向,必須為 CURL 宣告選項才能支持它。只需將以下代碼添加到您的 CURL 選項中,它應該可以正常作業。
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_POSTREDIR, 3);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/410367.html
標籤:
