我正在做一个使用api获取信息的cURL请求但是当我使用json_decode时,它没有提供任何信息,而是它返回NULL值。请仔细阅读以下内容 -
// Initiate curl
$ch = curl_init();
// Disable SSL verification
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
// Will return the response, if false it print the response
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Set the url
curl_setopt($ch, CURLOPT_URL,"http://mkp.gem.gov.in/oem-cartridge/samsung-111s-toner-rst/p-5116877-68482402616-cat.html");
// Execute
$result=curl_exec($ch);
// Closing
curl_close($ch);
// Will dump a beauty json :3
var_dump(json_decode($result, true));
这是使用API发出cURL请求和获取信息的正确方法,还是建议我如何操作,因为我是这个主题的新手。
答案 0 :(得分:0)
您的以下代码行
$result=curl_exec($ch);
返回 301永久移动
因为您的网址仅使用HTTP
http://mkp.gem.gov.in/oem-cartridge/samsung-111s-toner-rst/p-5116877-68482402616-cat.htm
但此站点在HTTPS上运行,并且服务器设置为强制/重定向此仅HTTP URL到HTTPS,即
https://mkp.gem.gov.in/oem-cartridge/samsung-111s-toner-rst/p-5116877-68482402616-cat.html
您可以使用
将网址更改为https或将跟随重定向设置为truecurl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // follow redirect if any
但它仍然呈现HTML而不是JSON。
但是在您的评论中,您说同一个URL正在与节点一起使用,在这种情况下,请交叉检查您的网址或尝试使用POSTMAN发出相同的请求并查看显示的内容