Foros del Web » Programando para Internet » PHP »

Duda con CURL

Estas en el tema de Duda con CURL en el foro de PHP en Foros del Web. Hola!! Aprendiendo un poco de CURL en base a la necesidad que tengo de levantar datos del webservice de yahoo finance he armando una función ...
  #1 (permalink)  
Antiguo 08/04/2015, 16:35
 
Fecha de Ingreso: noviembre-2010
Mensajes: 63
Antigüedad: 14 años
Puntos: 3
Duda con CURL

Hola!!

Aprendiendo un poco de CURL en base a la necesidad que tengo de levantar datos del webservice de yahoo finance he armando una función con la cual leo un archivo y luego copiarlo a una carpeta.


function recibe_archivo ($url_origen,$archivo_destino){
$mi_curl = curl_init ($url_origen);
$fs_archivo = fopen ($archivo_destino, "w");
curl_setopt ($mi_curl, CURLOPT_FILE, $fs_archivo);
curl_setopt ($mi_curl, CURLOPT_HEADER, 0);
curl_exec ($mi_curl);
curl_close ($mi_curl);
fclose ($fs_archivo);
}


Ahora bien, cuando la llamo con estos parámetros me genera un archivo cuyo contenido es un mensaje de error:

$url="http://finance.yahoo.com/d/quotes.csv?s=YPF+AAPL+YHOO+Ts+Ggal+pze+ERAR.BA+TEC O2.BA+Pamp.ba+Come.ba+^MERV&f=snl1c1jkd1t1";

recibe_archivo ($url,"mi_archivo.csv");


Aclaro que si simplemente escribo la url en mi navegador me descargo el archivo CSV de yahoo finance sin problemas.

Muchas gracias!
  #2 (permalink)  
Antiguo 08/04/2015, 16:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Duda con CURL

Te hace especificar un user-agent, revisa el manual de cURL.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 08/04/2015, 17:18
 
Fecha de Ingreso: noviembre-2010
Mensajes: 63
Antigüedad: 14 años
Puntos: 3
Respuesta: Duda con CURL

Gracias pateketrueke

Agregué el user-agent pero sigue igual


Código PHP:
function recibe_archivo ($url_origen,$archivo_destino){ 
        
$mi_curl curl_init ($url_origen); 
        
$fs_archivo fopen ($archivo_destino"w"); 
        
curl_setopt ($mi_curlCURLOPT_FILE$fs_archivo); 
        
curl_setopt($mi_curlCURLOPT_USERAGENT,"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");  
        
curl_setopt ($mi_curlCURLOPT_HEADER0); 
        
curl_exec ($mi_curl); 
        
curl_close ($mi_curl); 
        
fclose ($fs_archivo); 
    } 
Cita:
Te hace especificar un user-agent, revisa el manual de cURL.
  #4 (permalink)  
Antiguo 08/04/2015, 17:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Duda con CURL

He intentado cargar la misma URL usando la linea de comandos y me da lo siguiente:

Cita:
<HTML>
<HEAD>
<TITLE>Error</TITLE>
</HEAD>

<BODY BGCOLOR="white" FGCOLOR="black">
<!-- status code : 301 -->
<!-- Error: GET -->
<!-- host machine: media-border82.global.media.gq1.yahoo.com -->
<!-- timestamp: 1428537579.000 -->
<!-- url: http://finance.yahoo.com/d/quotes.csv?s=YPF+AAPL+YHOO+Ts+Ggal+pze+ERAR.BA+TEC %20O2.BA+Pamp.ba+Come.ba+%5EMERV&f=snl1c1jkd1t1-->
<H1>Error</H1>
<HR>

<FONT FACE="Helvetica,Arial"><B>
Description: Could not process this "GET" request.
</B></FONT>
<HR>
</BODY>
Creo que deberías documentarte al respecto de cómo se consume dicho servicio.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 08/04/2015, 18:08
 
Fecha de Ingreso: noviembre-2010
Mensajes: 63
Antigüedad: 14 años
Puntos: 3
Respuesta: Duda con CURL

Cita:
Iniciado por pateketrueke Ver Mensaje
He intentado cargar la misma URL usando la linea de comandos y me da lo siguiente:



Creo que deberías documentarte al respecto de cómo se consume dicho servicio.


Gracias nuevamente por tu tiempo...
Es el mismo error que me da a mi.
Es que no hay mucha info al respecto o bien no no se como digerirla...

EN fin, muchas gracias de cualquier manera, voy a buscar un poco mas de ayuda para salir del paso y luego, con mas tiempo, voy a estudiar en detalle el tema.

Saludos!

Etiquetas: curl, webservice, yahoo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:22.