Erro receber JSON no PHP [RESOLVIDO]

1. Erro receber JSON no PHP [RESOLVIDO]

Diego Mendes Rodrigues
diegomrodrigues

(usa Ubuntu)

Enviado em 31/07/2021 - 10:30h

Prezados,

Estou tentando receber o JSON de uma URL, utilizando os códigos abaixo.
Sempre recebo os erros apontados.

<?php
$url = ...;
$json = file_get_contents($url);
$dados = json_decode($json, true);
echo "<pre>";
print_r($dados);
?>

Erro:
Warning: file_get_contents(https://www.car.gov.br/publico/imoveis/getImovel?lat=-2.449376438504347&lng=-49.04754638759188): Failed to open stream: Redirection limit reached, aborting in ... on line 5 


Outro código:

<?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));
?>

Resposta:
NULL


Ao utilizar o mesmo código, com outra URL, como por exemplo:
$url = 'http://api.ipstack.com/177.194.116.144?access_key=65a2a7545d3ea66448ca270dad2dc789'
o retorno funciona de forma correta.

Sabem como devo proceder?

Abraço!
Diego


  


2. Re: Erro receber JSON no PHP [RESOLVIDO]

Samuel Leonardo
SamL

(usa XUbuntu)

Enviado em 31/07/2021 - 11:55h

Pode ser meio simples o que vou dizer, mas já tentou verificar se o json recebido está sintáticamente correto? Ou melhor, será que o json recebido está sem erro de síntaxe?
Pode ser também até o charset do arquivo json que não bate com o do php. Enfim, são apenas pontos pra você verificar, vai que acerto um e viro o novo milionário da megasena? Vai que...






3. Re: Erro receber JSON no PHP [RESOLVIDO]

Rodrigo Kulb
RodrigoKulb

(usa Ubuntu)

Enviado em 31/07/2021 - 15:40h

Olá quando acessei essa URL pela primeira vez ele redirecionou para página inicial, provavelmente envia um cookie para iniciar, na segunda vez funcionou o JSON.

Quando você utiliza o file_get_contents, por padrão ele não habilita o cookies, fiz um vídeo falando como você consegue fazer isso com curl, segue o link abaixo:

https://www.youtube.com/watch?v=9vEKLaHSMzQ




4. Re: Erro receber JSON no PHP [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 01/08/2021 - 00:50h

Boa noite.
"Tudo indica' que é uma politica de segurança:
Mensagem:
Access to XMLHttpRequest at 'https://www.car.gov.br/publico/imoveis/getImovel?lat=-2.449376438504347&lng=-49.04754638759188' from origin 'http://127.0.0.1:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________



5. Re: Erro receber JSON no PHP [RESOLVIDO]

Diego Mendes Rodrigues
diegomrodrigues

(usa Ubuntu)

Enviado em 01/08/2021 - 16:07h


RodrigoKulb escreveu:

Olá quando acessei essa URL pela primeira vez ele redirecionou para página inicial, provavelmente envia um cookie para iniciar, na segunda vez funcionou o JSON.

Quando você utiliza o file_get_contents, por padrão ele não habilita o cookies, fiz um vídeo falando como você consegue fazer isso com curl, segue o link abaixo:

https://www.youtube.com/watch?v=9vEKLaHSMzQ



Funcionou, obrigado!

Atenciosamente,
Diego M. Rodrigues






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts