[Perl] AYUDA con Request POST ##...URGE!!!

Salvador Ortiz Garcia sog@msg.com.mx
20 Sep 2002 09:53:19 -0500


On Thu, 2002-09-19 at 13:11, Luis Medrano Zaldivar wrote:
> Lista,
>=20
> Disculpen mi ignorancia en perl pero de verdad he estado buscado ducument=
aci=F3n de como se usa "Request POST" en combinaci=F3n con "use LWP::UserAg=
ent".
>=20
> La cuestion es que quiero llenar formas como esta "http://www.rent.net/" =
y ponerle la ciudad y el estado. Me encontre este ejemplo en el web de como=
 llenar la formas usando post "http://www.blazonry.com/devnotes/submit_alls=
tar.txt". Pero la verdad no entiendo muy bien esta la cosa...y la verdad le=
s agradeceria si me pudieran explicar ahora si que con manzanitas o como a =
un ni=F1o de 5 a=F1os. como funciona este script por que la verdad no le en=
tiendo.. ;-(...
>=20
> Les agradecere todos sus comentarios. (siempre y cuando no sean insultos)=
.

A ver, una solicitud usando el m=E9todo POST implica que (a diferencia de
GET, que s=F3lo lleva encabezados) requieres crear una entidad (body) con
su respectivo content-type y sus datos.

No tengo idea que que datos espere el servidor de la p=E1gina que anotas,
esa es tu tarea, y la resuelves lleyendo los fuentes HTML de la forma,
pero el principio b=E1sico para la generar la solicitud es:

use LWP::UserAgent;
# Creo el objeto "agente"
$ua =3D new LWP::UserAgent;
# Le doy una identidad
$ua->agent("Mizzilla/0.1 " . $ua->agent);
# Creo la solicitud.=20
my $req =3D HTTP::Request->new(POST =3D> 'http://www.rent.net');
# Defino el "content_type" del cuerpo de la solicitud.
$req->content_type('application/x-www-form-urlencoded');
# Le pongo algunos datos a los campos 'foo' y 'bar'
$req->content('foo=3Dabc&bar=3Dxyz');
...
# Env=EDo la solicitud y obtengo la respuesta.
my $res =3D $ua->request($req);=20
...

Saludos.

Salvador Ortiz.