[Mono-list] Hi, and cookies problem.
Gurrio
gurrio@yahoo.es
Sun, 28 Nov 2004 14:52:20 +0100
Hi,
I'm new in the list. I've been trying with mono for the last months, but i've
a problem.
I've searched in google, c# forums webs, msdn, etc. but i'm not able to solve
it.
I want to login in to a web, that usese html forms, and https. This web has
also a web certificate.
When i run my program, the web returns me a cookie, but this cookie is not
enough for continue donwloading more page contents.
I've tried Firefox Live HTTP Headers extension, and using it, i can see that
the server returns 3 diferent cookies.
Can you help me?
I attach the code and firefox headers.
Thanks in advance.
Asier
//My code. It only returns one cookie.
using System.Net;
using System.IO;
using System.Text;
using System;
namespace Examples.System.Net.Cookies
{
public class CookieExample
{
public static void Main(string[] args)
{
if (args == null || args.Length != 1)
{
Console.WriteLine("Specify the URL to receive the request.");
Environment.Exit(1);
}
HttpWebRequest request =
(HttpWebRequest)WebRequest.Create("https://apliweb.uned.es/ciberuned/index.asp");
string DatosUsuario ="Login String";
byte[] datos = Encoding.Default.GetBytes(DatosUsuario);
request.Method = "POST";
request.UserAgent= "Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.6)
Gecko/20040506 Firefox/0.8";
request.Referer = "https://apliweb.uned.es/ciberuned/index.asp";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = datos.Length;
Stream sout = request.GetRequestStream();
sout.Write(datos, 0, datos.Length);
sout.Flush();
sout.Close();
// Print the properties of each cookie.
try
{
request.CookieContainer = new CookieContainer ();
HttpWebResponse response = (HttpWebResponse)
request.GetResponse();
if (request.HaveResponse)
{
WebHeaderCollection headers =
response.Headers;
foreach(string header in headers.Keys)
{
Console.WriteLine("{0}:{1}", header,
headers[header]);
}
Console.WriteLine("{0} Cookies found.",
response.Cookies.Count);
foreach(Cookie c in response.Cookies)
Console.WriteLine("{0}: {1}", c.Name,
c.Value);
}
response.Close();
}
catch (Exception ex)
{
Console.WriteLine("Exception:\n{0}\n{1}", ex.Message,
ex.StackTrace);
}
}
}
}
//Firefox headers: It returns 3 cookies.
https://apliweb.uned.es/ciberuned/index.asp
POST /ciberuned/index.asp HTTP/1.1
Host: apliweb.uned.es
User-Agent: Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.6) Gecko/20040506
Firefox/0.8
Accept:
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1
Accept-Language: es-es,es;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: https://apliweb.uned.es/ciberuned/index.asp
Content-Type: application/x-www-form-urlencoded
Content-Length: 49
Login String