file_get_contents () retorna uma string vazia ao autenticar, caso contrário, é bom

Então, sou novo para trabalhar com API e PHP, então tenha paciência comigo. Estou tentando acessar uma API para autenticar no site através dos parâmetros GET (como sugerido na documentação da API). Estou tentando usar file_get_contents () para retornar o token de autenticação que ele retorna. Um redirecionamento para o URL exibe o token no formato XML.

No entanto, quando faço o seguinte, ele retorna uma string vazia. Como posso retornar a saída XML completa?

$token = file_get_contents('http://example.com/api.asp?cmd=logon&email=xxx@something.com&password=s0mep@SSword'); var_dump($token); 

Recebo a seguinte saída:

 string(116) "" 

Alguma idéia sobre o que estou fazendo de errado?

Tente fazer:

 $token = str_replace("<", "<", $token); $token = str_replace(">", ">", $token); vd($token); 

Isso está ocorrendo porque seu navegador está interpretando o XML que você está lendo como HTML e lendo o XML como tags. (Você pode dizer que a string não está vazia porque o vd , que eu vd , é um alias para var_dump diz que o comprimento da string é 116 ) Substituir os < 's e > ' s com suas entidades HTML válidas deve resolver isso.

Supondo que a API esteja retornando XML, você pode usar SimpleXML em PHP para analisar diretamente o arquivo: