• Publicidad

Cómo bajar un archivo de texto desde una página HTTPS

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Cómo bajar un archivo de texto desde una página HTTPS

Notapor jjaimes » 2008-07-22 14:35 @649

Soy super nuevo trabajando con Perl y estoy un poco perdido. ¿Alguien sabe cómo desde un servidor Unix puedo bajar un archivo de texto que está en una pagina web HTTPS?

Si lo quiero bajar directamente de la página manualmente, coloco el path y me pide un login y password. Después de eso entra a la página que tiene el archivo que necesito. Lo que quiero hacer es lo mismo pero de manera automática desde un servidor Unix. Si alguien puede darme ideas y un ejemplo sería magnífico.
jjaimes
Perlero nuevo
Perlero nuevo
 
Mensajes: 3
Registrado: 2008-07-22 14:20 @638

Publicidad

Notapor creating021 » 2008-07-22 14:48 @658

¿Alguien sabe cómo desde un servidor Unix puedo bajar un archivo de texto que está en una página web HTTPS?


Puedes usar LWP, es lo más indicado (si quieres usar Perl) y en el foro hay mucho de LWP.

Si lo quiero bajar directamente de la página manualmente, coloco el path y me pide un loggin y password después de eso entra a la página que tiene el archivo que necesito. Lo que quiero hacer es lo mismo pero de manera automática desde un servidor Unix. Si alguien puede darme ideas y un ejemplo sería magnífico


Esta parte no la he entendido... ¿Quieres hacer un CGI para hacer loggin y descargar el archivo o hacer loggin en un servidor para descargar un archivo?

Asumiendo que quieres hacer la segunda parte (porque la primera es una duda un poco rara :) ) con LWP::UserAgent no hay límites.
Última edición por creating021 el 2008-07-22 19:59 @874, editado 3 veces en total
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor

Notapor jjaimes » 2008-07-22 15:01 @667

Lo que quería es hacer login en una página web (https:// mipagina.com/channel/PER_MEMBER/1000689/daily/) y de ahí bajarme un archivo. Cuando entro directo desde el explorer tengo que meter un login y un password y luego me bajo el archivo, lo que quiero es hacerlo directo desde un servidor Unix, ponerlo en el crontab y no preocuparme más de eso. Apreciando mucho tu ayuda, José.
jjaimes
Perlero nuevo
Perlero nuevo
 
Mensajes: 3
Registrado: 2008-07-22 14:20 @638

Notapor kidd » 2008-07-22 15:23 @682

Hola jjames,

Bienvenido a los foros de Perl en Español.

Es necesario saber cómo está protegida la página a la que deseas ingresar, pues dependiendo de ello será el camino que deberás de seguir.

Si la página está protegida por medio de .htpasswd, es decir, que te sale una ventanita en donde debes de poner tu nombre de usuario y contraseña, entonces puedes enviar el username y la contraseña en el mismo URL:
Código: Seleccionar todo
https://[USERNAME]:[PASSWORD]@mipagina.com/channel/PER_MEMBER/1000689/daily/


Ahora, si la identificación es por otro medio usando sesiones, entonces deberás de usar otro camino, y esto es un tanto más complejo, pues también deberás de tomar en cuenta si debes de guardar cookies, o no.

Para ello te recomendaría el módulo WWW::Mechanize

Ya con más información te podremos dar más tips, también te recomiendo que empieces a hacer tus pruebas y nos vayas mostrando tu progreso.

Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor jjaimes » 2008-07-22 16:09 @715

Es exactamente como lo describiste en la primera parte: sale una ventanita en donde debes de poner tu nombre de usuario y contraseña, eso significa que el código debe ser algo como lo siguiente:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/local/bin/perl

use LWP::UserAgent;

$ua = LWP::UserAgent->new;
$req = HTTP::Request->new(GET => 'https://[USERNAME]:[PASSWORD]@mipagina.com/channel/PER_MEMBER/1000689/daily/');
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Déjame saber qué tan mal voy con esto, gracias de antemano por tu ayuda.

Otra preguntita: ¿este módulo, lo puedo usar en local en my profile con qw o tengo que instalarlo para que trabaje?
jjaimes
Perlero nuevo
Perlero nuevo
 
Mensajes: 3
Registrado: 2008-07-22 14:20 @638

Notapor kidd » 2008-07-22 16:42 @737

El módulo LWP viene con la distribución de Perl, así que si tienes Perl no debes de tener la necesidad de descargarlo e instalarlo.
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor explorer » 2008-07-22 16:58 @749

En el documento lwpcook (busca por HTTPS) tienes un ejemplo.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron