Log en Web con C#

Iniciado por darkraider, 9 Diciembre 2007, 01:42 AM

0 Miembros y 1 Visitante están viendo este tema.

darkraider

Hola gente, muy buenas. Resulta que ya hace un par de dias que ando con una espina clavada entre las piernas: estoy haciendo un programa que se loguea en una web con unas credenciales obtenidas desde una base de datos.
Resulta que supe conseguir las cabeceras http que debo enviar para hacer el login y hay una serie de cosas que me incomodan:
Primero, esta es la cabecera que debo enviar para que se haga el login (la pagina esta hecha con javascript:


http://www.la-pagina.com/verify_login_xbd.jspns?xbd_nocache=1197151155933

POST /verify_login_xbd.jspns?xbd_nocache=1197151155933 HTTP/1.1
Host: www.la-pagina.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded;
Cache-Control: no-store, no-cache, must-revalidate, no-cache
Referer: http://www.la-pagina.com/index_home.html
Content-Length: 39
Cookie: JSESSIONID=B92696775A5B68F2DC3CE1E60E0E6B63
Pragma: no-cache
A_Login=pepito&P_Password=pistola
HTTP/1.x 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=112FCD15DFB7095386015F41DBF87F18; Path=/
Content-Type: text/html;charset=Latin1
Content-Length: 17
Date: Sat, 08 Dec 2007 22:07:22 GMT

De aca me incomoda un poco el numero que va despues del igual xbd_nocache=1197151155933. Parece ser un numero cambiante, que identifica lo que sería el numero de petición, supongo yo. Si es así: como hago para conseguir este numero? Porque si lo genero al azar no creo que funcione.
Segundo, les pongo el codigo con el cual implemento la petición ahora: porque tambien tengo mis dudas sobre lo correcto de éste, ya que soy nuevo con las HttpWebRequest's.

string HttpPost(string uri, string parameters)
        {
            // parameters: name1=value1&name2=value2
            WebRequest webRequest = WebRequest.Create(uri);

            webRequest.ContentType = "application/x-www-form-urlencoded";
            webRequest.Method = "POST";
            byte[] bytes = Encoding.ASCII.GetBytes(parameters);
            Stream os = null;
            try
            { // send the Post
                webRequest.ContentLength = bytes.Length;   //Count bytes to send
                os = webRequest.GetRequestStream();
                os.Write(bytes, 0, bytes.Length);         //Send it
            }
            catch (WebException ex)
            {
                string s = ex.Message;
                return s;
            }
            finally
            {
                if (os != null)
                {
                    os.Close();
                }
            }

            try
            { // get the response
                WebResponse webResponse = webRequest.GetResponse();
                if (webResponse == null)
                { return null; }
                StreamReader sr = new StreamReader(webResponse.GetResponseStream());
                return sr.ReadToEnd().Trim();
            }
            catch (WebException ex)
            {
                string r = ex.Message + "HttpPost: Response error";
                return r;
            }
            //return null;
        } // end HttpPost

Si alguien ve algo malo... no me peguen!. Gracias por leerme Salu2 Chau!
Curioso de mi...