Hola, estoy intentando registrarme vía POST.
Lo que realicé fue lo siguiente: tengo una cuenta en la página xxxx.com, user: pepito, pass: 123.
Realicé el registro vía web y capturé el tráfico utilizando un
proxy y esta es la petición:
Using text Syntax Highlighting
POST /appejemplo/cpuMovil/Login HTTP/1.1
Authorization: Basic Dk2NzNkZmIwN2U1MWEwZGZmYTc0NWE5MTAzOGU1NDgw
Content-Length: 33
Content-Type: application/x-www-form-urlencoded
Host: webservice.ejemplo.com.bo
Connection: Keep-Alive
User-Agent: Apache-HttpClient/UNAVAILABLE (java 1.4)
Username=pepito&Password=123
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
Por seguridad los datos están cambiados. Este es mi código:
Using perl Syntax Highlighting
#!/usr/bin/perl
use strict;
use warnings;
use LWP::UserAgent;
use HTTP::Cookies;
use HTTP::Request;
#conecto a la 1ra url y guardo cookies sin https
my $url = "http://webservice.ejemolo.com.bo/appejemplo/cpuMovil/Login";
my $datos = "Username=pepito&Password=123";
my $ua = LWP::UserAgent->new();
my $cookies = HTTP::Cookies->new(
file => 'COOKIES.dat',
autosave => 1,
);
$ua->cookie_jar($cookies);
$ua->timeout(30);
$ua->agent("Apache-HttpClient/UNAVAILABLE (java 1.4)");
my $reqw = HTTP::Request->new(POST => $url);
$reqw->content_type('application/x-www-form-urlencoded');
$reqw->content($datos);
my $responsew = $ua->request($reqw);
my $contentw = $responsew->content(); #contenido de la respuesta
print $contentw;
Coloreado en 0.002 segundos, usando
GeSHi 1.0.8.4
y la respuesta es: "Message":"Se ha denegado la autorizaci├│n para esta solicitud."
Siendo que los datos están correctos estoy suponiendo que el problema está en la petición ya que vía web se registra sin problemas.
Por eso es que pensé en utilizar la petición capturada con el
proxy.
Quizás una alternativa sería guardar la petición en archivo, luego leerlo y enviarlo. No sé, por decir algo. Aguardo si me pueden ayudar. Muchas gracias.
Saludos.