Estou tendo problemas para chamar um url do código PHP. Preciso chamar um serviço usando uma string de consulta do meu código PHP. Se eu digitar o url em um navegador, ele funciona bem, mas se eu usar o arquivo-get-contents () para fazer a chamada, obtenho:
Aviso: file-get-contents (http: // ....) falhou ao abrir o stream: solicitação de HTTP falhou! HTTP / 1.1 202 aceito em ...
O código que estou usando é:
$query=file_get_contents('http://###.##.##.##/mp/get?mpsrc=http://mybucket.s3.amazonaws.com/11111.mpg&mpaction=convert format=flv');
echo($query);
Como eu disse - ligue do navegador e funciona bem. Alguma sugestão?
Também tentei com outro url, como:
$query=file_get_contents('http://www.youtube.com/watch?v=XiFrfeJ8dKM');
Isso funciona bem ... será que o url que eu preciso ligar tem um segundo http://
?
php
api
query-string
file-get-contents
Indefinido
fonte
fonte
CURLOPT_USERAGENT
foi muito importante no meu caso, obrigado!Isso poderia ser o seu problema?
fonte
urlencode()
nos parâmetros GET resolveu o problema.fonte
get_url
deve realmente ser,get_fcontent
já que você alterou o nome da própria função. Na verdade, esta é uma chamada de função recursiva que tenta novamente obter o conteúdo do URL alterando alguns parâmetros.file_get_contents()
utiliza osfopen()
invólucros, portanto, não pode acessar URLs por meio daallow_url_fopen
opção dentro do php.ini.Você precisará alterar seu php.ini para ativar esta opção ou usar um método alternativo, ou seja, cURL - de longe o mais popular e, para ser honesto, a maneira padrão de realizar o que você está tentando fazer.
fonte
file_get_contents()
trabalhava em uma URL diferente. No entanto, esta ainda é uma boa dica para outras pessoas com esse problema.Basicamente, você deve enviar algumas informações com a solicitação.
Tente isto,
Isso funcionou para mim
fonte
Percebi que seu URL contém espaços. Acho que geralmente é uma coisa ruim. Tente codificar o URL com
e então ligando
e veja se você tem melhor sorte.
fonte
Eu tenho um problema semelhante, analisei o url do youtube. O código é;
Então eu percebo que
$this->video_url
incluem os espaços em branco. Eu resolvi isso usandotrim($this->video_url)
.Talvez isso te ajude . Boa sorte
fonte
Não tenho certeza sobre os parâmetros (mpaction, format), se eles são especificados para a página amazonaws ou ##. ##.
Tente urlencode () o url.
fonte
fonte
Eu tenho um problema semelhante.
Devido ao tempo limite!
O tempo limite pode ser indicado assim:
fonte
Usa isto
fonte