我收到NULL数据以响应cURL请求

时间:2018-05-29 02:27:24

标签: php jquery curl

我正在做一个使用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请求和获取信息的正确方法,还是建议我如何操作,因为我是这个主题的新手。

1 个答案:

答案 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或将跟随重定向设置为true
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // follow redirect if any

但它仍然呈现HTML而不是JSON。

但是在您的评论中,您说同一个URL正在与节点一起使用,在这种情况下,请交叉检查您的网址或尝试使用POSTMAN发出相同的请求并查看显示的内容