• Publicidad

Cómo enviar una imagen desde Perl a otro script

Así que programas sin strict y las expresiones regulares son otro modo de hablar. Aquí encontrarás respuestas de nivel avanzado, no recomendable para los débiles de corazón.

Cómo enviar una imagen desde Perl a otro script

Notapor danimera » 2011-01-31 10:44 @489

No sé si me haga entender. Lo que deseo es hacer un robot que llena un formulario que está en una página X, pero esta página tiene un campo formulario que me pide una imagen, y yo tengo la imagen en el servidor donde está el script...

¿Existe alguna forma de hacer esto mediante Perl... con WWW::Mechanize no vi una forma clara de hacerlo... :?
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Publicidad

Re: Cómo enviar una imagen desde Perl a otro script

Notapor explorer » 2011-01-31 13:55 @621

Según el manual de WWW::Mechanize, el valor de la ruta completa a la imagen debe pasarse al campo del formulario correspondiente.

Por Internet, he visto dos maneras:
1.- WWW::Mechanize for uploading files Usa el truco de utilizar el método post, del objeto HTTP::Request::Common:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $mech = new WWW::Mechanize(
  2.     autocheck => 1 # If set to 1, WWW::Mechanize will produce its
  3.                                    # own error messages.
  4. );
  5.  
  6. # For more information on how $file works, please check out
  7. # see http://search.cpan.org/perldoc?HTTP::Request::Common#POST
  8. my $file = [
  9.     'filename-on-disk.txt', # The file you'd like to upload.
  10.     'filename-for-upload.txt', # The filename you'd like to give the web server.
  11.     'Content-type' => 'text/plain' # Any other flags you'd like to add go here.
  12. ];
  13.  
  14. $mech->post("http://example.com/upload.cgi", [
  15.     'upload' => $file
  16. ]);
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


2.- Usando el propio objeto WWW::Mechanize
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1.            use WWW::Mechanize;
  2.            my $mech = WWW::Mechanize->new();
  3.  
  4.            $mech->get( $url );
  5.  
  6.            $mech->submit_form(
  7.                form_number => 1,
  8.                fields      => {
  9.                    image    => '/home/mantovani/foo.png',
  10.                    description    => 'this is an example',
  11.                }
  12.            );
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Es decir, lo de siempre: dar la ruta completa al fichero.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Cómo enviar una imagen desde Perl a otro script

Notapor danimera » 2011-01-31 15:06 @671

Gracias, explorer... había buscado mal ya que había visto algo parecido así pero no en Perl...
Ahora que veo esto con el Mechanize es mejor porque es el módulo que estoy usando.
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia


Volver a Avanzado

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados