Foros del Web » Programando para Internet » PHP »

problemas al descargar archivos con curl

Estas en el tema de problemas al descargar archivos con curl en el foro de PHP en Foros del Web. hola a todos, estoy haciendo un script en php para obtener un archivo de otro servidor mediante curl. para poder navegar por el otro servidor ...
  #1 (permalink)  
Antiguo 29/09/2012, 10:09
Avatar de ahaugas  
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 249
Antigüedad: 13 años, 3 meses
Puntos: 21
problemas al descargar archivos con curl

hola a todos,
estoy haciendo un script en php para obtener un archivo de otro servidor mediante curl.

para poder navegar por el otro servidor se necesita primero iniciar sesion y almacenar la sesion obtenida en un archivo para usarlo posteriormente.

el inicio de sesion me lo hace correctamente y guardar la sesion en un archivo txt tambien, pero cuando intento decargar un archivo me sale el error Fatal error: Out of memory


el codogo es:
Código PHP:
  ini_set("memory_limit","2048M");    //Limite 2GB
  
set_time_limit(0);                  //Tiempo de transferencia ilimitada

  //Definimos las variables de la pagina
  
$username    ""
  
$password    "";
  
$loginUrl    'http://login.mysite.com/login.php';
  
$loginFields = array('username' => $username'password' => $password);

  
//Ahora se ha iniciado la sesion y la sesion de la cookie ha sido generada
  
getUrl($loginUrl'post'$loginFields); 

  
//Cargamos la pagina que queremos ver
  
$remote_page_content getUrl('http://miembros.mysite.com/3098');
  echo 
$remote_page_content;

  
//Simple funcion para acceder
  
function getUrl($url$method=''$vars=''
  {
        
$ch curl_init();
        if (
$method == 'post'
        {
        
curl_setopt ($chCURLOPT_POST1);
        
curl_setopt ($chCURLOPT_POSTFIELDS$vars);
        }

        
curl_setopt ($chCURLOPT_URL$url);
        
curl_setopt ($chCURLOPT_RETURNTRANSFER1);
        
curl_setopt ($chCURLOPT_USERAGENT"Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7");
        
curl_setopt ($chCURLOPT_COOKIEJAR'cookie.txt');
        
curl_setopt ($chCURLOPT_COOKIEFILE'cookie.txt');
        
curl_setopt ($chCURLOPT_MAXREDIRS10);
        
curl_setopt ($chCURLOPT_TIMEOUT0);
        
curl_setopt ($chCURLOPT_CONNECTTIMEOUT0);
        
curl_setopt ($chCURLOPT_FAILONERRORtrue);
        
curl_setopt ($chCURLOPT_FOLLOWLOCATIONtrue);
        
curl_setopt ($chCURLOPT_SSL_VERIFYPEERfalse);
        
$buffer curl_exec($ch);
        
curl_close ($ch);

        return 
$buffer;
  } 
para descargar el archivo utilizo el siguiente metodo para acceder al archivo directamente:

Código PHP:
//Cargamos la pagina que queremos ver
$remote_page_content getUrl('http://content.mysite.com/PSP.mp4/'); 

file_put_contents('/downloads/video.mp4',file_get_contents($remote_page_content)); 
pero me tira un error

alguna idea o sugerencia?

gracias
__________________
www.ahaugas.com mi pagina de desarrollo
  #2 (permalink)  
Antiguo 29/09/2012, 11:14
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: problemas al descargar archivos con curl

Pues tu script consume demasiada memoria, ¿cuanto pesa el archivo que estás descargando?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 29/09/2012, 11:32
Avatar de ahaugas  
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 249
Antigüedad: 13 años, 3 meses
Puntos: 21
Respuesta: problemas al descargar archivos con curl

pues son como unos 300mb a 1.5gb pero necesito descargarlo a un directorio y no ejecutarlo
__________________
www.ahaugas.com mi pagina de desarrollo
  #4 (permalink)  
Antiguo 29/09/2012, 14:30
Avatar de ahaugas  
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 249
Antigüedad: 13 años, 3 meses
Puntos: 21
Respuesta: problemas al descargar archivos con curl

no habria otra forma de descargar sin utilizar tanta memoria?
las paginas las veo corractamente pero necesito hacerlo solo para descargas remotas a mi servidor, no necesito ver las paginas del servidor.
__________________
www.ahaugas.com mi pagina de desarrollo
  #5 (permalink)  
Antiguo 29/09/2012, 22:07
marcofbb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problemas al descargar archivos con curl

Cita:
Iniciado por ahaugas Ver Mensaje
no habria otra forma de descargar sin utilizar tanta memoria?
las paginas las veo corractamente pero necesito hacerlo solo para descargas remotas a mi servidor, no necesito ver las paginas del servidor.
Vas a tener que emplear algo que se ejecute del lado del cliente, y no de servidor. Yo por ejemplo para hacer stream de mp4 subidos a cyberlocks lo hago mediante un applet JAVA. Por que como lo estas haciendo, es descargar el archivo a tu servidor, y por eso consume tanto.

Saludos
  #6 (permalink)  
Antiguo 30/09/2012, 00:30
Avatar de ahaugas  
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 249
Antigüedad: 13 años, 3 meses
Puntos: 21
Respuesta: problemas al descargar archivos con curl

y mandar cabeceras al navegador para forzar la descarga?
eso tambien me valdria, el caso es que necesito comprobar que el archivo se descargan correctamente.
pero siempre me sale ese error

y la verdad que es un poco complicado para hacer el stream con curl.

he intentado mandar cabezeras para forzar la descarga y no he conseguido dar con el clavo, abrir el archivo de solo lectura y tambpoco...
__________________
www.ahaugas.com mi pagina de desarrollo
  #7 (permalink)  
Antiguo 30/09/2012, 11:14
marcofbb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problemas al descargar archivos con curl

Cita:
Iniciado por ahaugas Ver Mensaje
y mandar cabeceras al navegador para forzar la descarga?
eso tambien me valdria, el caso es que necesito comprobar que el archivo se descargan correctamente.
pero siempre me sale ese error

y la verdad que es un poco complicado para hacer el stream con curl.

he intentado mandar cabezeras para forzar la descarga y no he conseguido dar con el clavo, abrir el archivo de solo lectura y tambpoco...
Vas a tener que subir los archivos a servidores donde la url generada para descargar no sea valida solo para una IP. Te dejo algunos servidores:


GlumboUploads (paga por descarga)
Stream-This (paga por descarga)
SendSpace (con soporte completo para CAPTCHA)
JumboFiles
VideoVeeb (paga por descarga)
MadeVid (paga por descarga)
ModoVideo
HulkShare
BrutalUpload
180upload (paga por descarga)
YouTube
HSUpload (paga por descarga)
FileBox
FileOp
DivxBase
2xUpload
FileKing (paga por descarga)
PutLocker
SockShare

http://www.marcofbb.com.ar/foro/stream/broadcast2all/

Saludos
  #8 (permalink)  
Antiguo 01/10/2012, 06:07
Avatar de ahaugas  
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 249
Antigüedad: 13 años, 3 meses
Puntos: 21
Respuesta: problemas al descargar archivos con curl

pero yo no necesito servidores de alojamiento de archivos, es uno de mis servidores al que le estoy restringiendo el acceso por ip y por usuario y necesito hacer login y descargar el archivo por curl... pero tengo ese problema... y por ftp no lo quiero hacer porque si no es accesible a todos.

no me importa cambiar el metodo de acceso y descarga... necesito entrar y mandar las cabeceras de descarga con usuario y contraseña...
__________________
www.ahaugas.com mi pagina de desarrollo
  #9 (permalink)  
Antiguo 01/10/2012, 09:02
marcofbb
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problemas al descargar archivos con curl

Cita:
Iniciado por ahaugas Ver Mensaje
pero yo no necesito servidores de alojamiento de archivos, es uno de mis servidores al que le estoy restringiendo el acceso por ip y por usuario y necesito hacer login y descargar el archivo por curl... pero tengo ese problema... y por ftp no lo quiero hacer porque si no es accesible a todos.

no me importa cambiar el metodo de acceso y descarga... necesito entrar y mandar las cabeceras de descarga con usuario y contraseña...
Y porque no realizas una api para a tu servidor 1 para restringir el acceso ? Tambien puedes utilizar .htaccess (Url amigables busca asi en google) para ocultar la url original del archivo

Saludos

Etiquetas: curl, variables
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 22:13.