• Publicidad

Haciendo peticiones a una web

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Haciendo peticiones a una web

Notapor erv-Z » 2009-09-03 13:48 @617

Buenas, compañeros.

La última vez que nos vimos necesitaba ayuda para sacar link desde Google, pero esta vez tengo otra duda.

Esa vez yo examinaba el código fuente y desde las expresiones regulares sacaba los link.

Pero ¿qué pasa esta vez?

Pues que quiero examinar lo mismo pero el problema es el siguiente:

Primero tengo que hacer la petición, que no sé hacerla; luego examino el código fuente de la web y con las expresiones regulares saco lo que desee, pero a ver si me explico un poco más.

Ejemplo:

Voy a escribir un mensaje en una parte, luego le tengo que dar al botón submit para que se envíe y luego voy a examinar el código fuente y sacar lo que me interesa.

Mi duda es la siguiente:

¿Cómo hago para escribir en ese campo y luego hacer la petición (presionar submit) y luego examinar el código de fuente?

Quisiera que se pueda hacer con el módulo HTTP::Request

Claro, si se puede.

Nota: La vez pasada me aconsejaron que leyera las expresiones regulares y entendí muy bien el código; muchas gracias, me ha ayudado mucho.
Última edición por explorer el 2009-09-03 14:00 @625, editado 1 vez en total
Razón: Ortografía, abreviatutas telefónicas, anglicismos, formato
erv-Z
Perlero nuevo
Perlero nuevo
 
Mensajes: 158
Registrado: 2009-07-25 13:00 @583

Publicidad

Re: Haciendo peticiones a una web

Notapor explorer » 2009-09-03 14:07 @629

Eso se hace con el módulo WWW::Mechanize en un pis pas.

Ejemplo.
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: Haciendo peticiones a una web

Notapor erv-Z » 2009-09-03 14:08 @630

Oka, quiero que me explique si podes, para que funciona el módulo WWW::Mechanize, por favor, si puedes explícame con tus letras.
erv-Z
Perlero nuevo
Perlero nuevo
 
Mensajes: 158
Registrado: 2009-07-25 13:00 @583

Re: Haciendo peticiones a una web

Notapor explorer » 2009-09-03 14:15 @636

Te he puesto un enlace a un ejemplo que mandó kidd para mandar un SMS a través de un formulario de una página web.

Lo que no entiendas del ejemplo, te lo explicamos.

P.D. Estamos en el foro Intermedio :wink:
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: Haciendo peticiones a una web

Notapor erv-Z » 2009-09-03 14:29 @645

Oka, creo que ya sé. Tengo la idea de cómo hacerlo; lo único que me tiene en duda es el siguiente campo:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
                                     form_name  => 'sms',
                                     button     => 'submit',
                                     fields     => {
                                                    'sms_num'    => $to_num,
                                                    'rem_sms'    => $from_num,
                                                    'sms_mns'    => $message,
                                                   }
                                    );
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
erv-Z
Perlero nuevo
Perlero nuevo
 
Mensajes: 158
Registrado: 2009-07-25 13:00 @583

Re: Haciendo peticiones a una web

Notapor explorer » 2009-09-03 15:57 @706

Con ese tipo de campos estamos indicando a WWW::Mechanize
* qué formulario, de todos los que hay en la página, nos interesa usar. En concreto, el que tenga de nombre 'sms'.
* de todos los botones a pulsar, lo haremos sobre el que sea de tipo 'submit'
* con los campos rellenos así:
1.- El campo 'sms_num', con el valor de la variable $to_num
2.- El campo 'rem_sms', con el valor de la variable $from_num
3.- El campo 'sms_mns', con el valor de la variable $message

WWW::Mechanize busca el formulario en la página, rellena los campos, y pulsa el botón. Y obtendrá la respuesta.
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: Haciendo peticiones a una web

Notapor erv-Z » 2009-09-03 16:38 @734

Oka, ¿me puedes dar un ejemplo de un formulario así? Lo examino y me lo imagino mejor.
erv-Z
Perlero nuevo
Perlero nuevo
 
Mensajes: 158
Registrado: 2009-07-25 13:00 @583

Re: Haciendo peticiones a una web

Notapor explorer » 2009-09-03 18:30 @812

Sintáxis: [ Descargar ] [ Ocultar ]
Using html4strict Syntax Highlighting
<form name="sms" action="http://madrid.aero/cgi-bin/sms.pl" method="post">
<input type="text" name="sms_num" size="9" />
<input type="text" name="rem_sms" size="9" />
<textarea rows="2" cols="80" name="sms_mns"></textarea>
<input type="submit" name="Send" value="Send" />
</form>
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
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: Haciendo peticiones a una web

Notapor erv-Z » 2009-09-03 18:51 @827

oka man pero este es el formulario que tengo.
Sintáxis: [ Descargar ] [ Ocultar ]
Using html4strict Syntax Highlighting
<form action="" method="post" class="formm">
<input type="text" name="coment" size="63"> <input type="submit" name="submit" value="enviar">
</form>
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


O si no, el formulario de búsqueda de este sitio:
Sintáxis: [ Descargar ] [ Ocultar ]
Using html4strict Syntax Highlighting
  1. <form action="search.php" method="get">
  2. <div>
  3. <input type="hidden" name="terms" value="any" />
  4. <input type="hidden" name="sc" value="1" />
  5. <input type="hidden" name="sf" value="all" />
  6. <input type="hidden" name="sk" value="t" />
  7. <input type="hidden" name="sd" value="d" />
  8. <input type="hidden" name="sr" value="posts" />
  9. <input type="hidden" name="st" value="0" />
  10. <input type="hidden" name="ch" value="300" />
  11. <input type="hidden" name="t" value="0" />
  12. <input type="text" name="keywords" class="text" />
  13. <input type="submit" name="submit" class="button" value="Buscar Foros" class="searchbut" />
  14. </div>
  15. </form>
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


¿Cómo se haría con el formulario de Perl en Español, ya que no veo el form_name?
Última edición por explorer el 2009-09-04 03:11 @174, editado 1 vez en total
Razón: Ortografía, bloques de código
erv-Z
Perlero nuevo
Perlero nuevo
 
Mensajes: 158
Registrado: 2009-07-25 13:00 @583

Re: Haciendo peticiones a una web

Notapor explorer » 2009-09-04 03:24 @183

En ese caso se puede usar la opción 'form_number', al que le pasaremos el número de formulario que queremos usar, dentro de la página. Si solo hay uno, pues 1.

Más información en WWW::Mechanize->submit_form().
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

Siguiente

Volver a Intermedio

¿Quién está conectado?

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