【发布时间】:2021-07-31 13:46:36
【问题描述】:
我正在尝试使用以下代码从 URL 获取 JSON。 我总是收到以下错误。
<?php
$url = ...;
$json = file_get_contents($url);
$dados = json_decode($json, true);
echo "<pre>";
print_r($dados);
?>
错误:
警告:file_get_contents(https://www.car.gov.br/publico/imoveis/getImovel?lat=-2.449376438504347&lng=-49.04754638759188):无法打开流:已达到重定向限制,正在中止 ... 第 5 行
使用的另一个代码:
<?php
$url = ...;
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,$url);
$dados = curl_exec($ch);
curl_close($ch);
echo "<pre>";
var_dump(json_decode($dados, true));
?>
回应:
空
当使用相同的代码时,带有另一个 URL,例如:
$url = 'http://api.ipstack.com/177.194.116.144?access_key=65a2a7545d3ea66448ca270dad2dc789'
反馈正常。
你能帮帮我吗?
问候, 迭戈
【问题讨论】:
-
这是您使用的两个不同的 URL。根据错误消息,第一个看起来会导致重定向循环。在您的 curl 代码中,您设置了
CURLOPT_HTTPHEADER,它只会返回 HTTP 响应的标头部分。所以你不应该期望那里有一个响应体。