open file_get_contents ejemplos php api query-string file-get-contents

ejemplos - file_get_contents(''php//input'')



PHP file_get_contents() devuelve "no se pudo abrir la secuencia: ¡Falló la solicitud HTTP!" (9)

¿Podría ser este tu problema?

Nota: Si abre un URI con caracteres especiales, como espacios, debe codificar el URI con urlencode ().

Tengo problemas para llamar a una URL desde el código PHP. Necesito llamar a un servicio usando una cadena de consulta de mi código PHP. Si escribo la url en un navegador, funciona bien, pero si uso file-get-contents () para hacer la llamada, obtengo:

Advertencia: file-get-contents (http: // ....) no pudo abrir la secuencia: ¡Falló la solicitud HTTP! HTTP / 1.1 202 aceptado en ...

El código que estoy usando es:

$query=file_get_contents(''http://###.##.##.##/mp/get?mpsrc=http://mybucket.s3.amazonaws.com/11111.mpg&mpaction=convert format=flv''); echo($query);

Como dije, llame desde el navegador y funciona bien. ¿Alguna sugerencia?

También he intentado con otra URL como:

$query=file_get_contents(''http://www.youtube.com/watch?v=XiFrfeJ8dKM'');

Esto funciona bien ... ¿podría ser que la url que necesito llamar tenga un segundo http:// en ella?


Básicamente se requiere que envíes información con la solicitud.

Prueba esto,

$opts = array(''http''=>array(''header'' => "User-Agent:MyAgent/1.0/r/n")); //Basically adding headers to the request $context = stream_context_create($opts); $html = file_get_contents($url,false,$context); $html = htmlspecialchars($html);

Esto funcionó para mí


Intenta usar cURL.

<?php $curl_handle=curl_init(); curl_setopt($curl_handle, CURLOPT_URL,''http://###.##.##.##/mp/get?mpsrc=http://mybucket.s3.amazonaws.com/11111.mpg&mpaction=convert format=flv''); curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl_handle, CURLOPT_USERAGENT, ''Your application name''); $query = curl_exec($curl_handle); curl_close($curl_handle); ?>


No estoy seguro acerca de los parámetros (mpaction, formato), si están especificados para la página amazonaws o ##. ##.

Intenta urlencode() la url.


Noté que su URL tiene espacios. Creo que generalmente es algo malo. Intenta codificar la URL con

$my_url = urlencode("my url");

y luego llamar

file_get_contents($my_url);

y mira si tienes mejor suerte


Tengo un problema similar, analicé la url de youtube. El código es;

$json_is = "http://gdata.youtube.com/feeds/api/videos?q=".$this->video_url."&max-results=1&alt=json"; $video_info = json_decode ( file_get_contents ( $json_is ), true ); $video_title = is_array ( $video_info ) ? $video_info [''feed''] [''entry''] [0] [''title''] [''$t''] : '''';

Entonces me doy cuenta de que $this->video_url incluye el espacio en blanco. Lo solucioné usando trim($this->video_url) .

Tal vez te ayude. Buena suerte


Utilizar esta

file_get_contents($my_url,null,null);


file_get_contents() utiliza los contenedores de fopen() , por lo tanto, está restringido para acceder a las URL a través de la opción allow_url_fopen dentro de php.ini.

Deberá modificar su php.ini para activar esta opción o utilizar un método alternativo, es decir, cURL , la forma más popular y sincera para lograr lo que está tratando de hacer.


<?php $lurl=get_fcontent("http://ip2.cc/?api=cname&ip=84.228.229.81"); echo"cid:".$lurl[0]."<BR>"; function get_fcontent( $url, $javascript_loop = 0, $timeout = 5 ) { $url = str_replace( "&amp;", "&", urldecode(trim($url)) ); $cookie = tempnam ("/tmp", "CURLCOOKIE"); $ch = curl_init(); curl_setopt( $ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1" ); curl_setopt( $ch, CURLOPT_URL, $url ); curl_setopt( $ch, CURLOPT_COOKIEJAR, $cookie ); curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true ); curl_setopt( $ch, CURLOPT_ENCODING, "" ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); curl_setopt( $ch, CURLOPT_AUTOREFERER, true ); curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false ); # required for https urls curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, $timeout ); curl_setopt( $ch, CURLOPT_TIMEOUT, $timeout ); curl_setopt( $ch, CURLOPT_MAXREDIRS, 10 ); $content = curl_exec( $ch ); $response = curl_getinfo( $ch ); curl_close ( $ch ); if ($response[''http_code''] == 301 || $response[''http_code''] == 302) { ini_set("user_agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1"); if ( $headers = get_headers($response[''url'']) ) { foreach( $headers as $value ) { if ( substr( strtolower($value), 0, 9 ) == "location:" ) return get_url( trim( substr( $value, 9, strlen($value) ) ) ); } } } if ( ( preg_match("/>[[:space:]]+window/.location/.replace/(''(.*)''/)/i", $content, $value) || preg_match("/>[[:space:]]+window/.location/=/"(.*)/"/i", $content, $value) ) && $javascript_loop < 5) { return get_url( $value[1], $javascript_loop+1 ); } else { return array( $content, $response ); } } ?>