WebRequest , korrekte headers og holde på session
Hej,Jeg er i gang med at lave et lille hjælper-program til et nichespil.. Jeg har kæmpet med det hele aftenen, og har fået rigtig meget hjælp af gamle tråde her på eksperten (tak Arne)..!
MEN! Jeg er løbet ret tør nu.. Det er sådan at jeg skal følgende:
- Gå ind på en hjemmeside
- Logge ind med mit brugernavn / password
- Navigere rundt på siden
Jeg har lavet følgende indtil videre (jeg forklarer problemet i bunden):
- - - - -
var cookieJar = new CookieContainer();
string url = "http://server1.online-trucker.dk";
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.AllowAutoRedirect = true;
req.CookieContainer = cookieJar;
StreamWriter post = new StreamWriter(req.GetRequestStream());
post.Write("Username=BRUGERNAVN&Password=PASSWORD&Logind=Logind");
post.Close();
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
// New request
string auctionurl = "http://server1.online-trucker.dk/Vareauktion.asp";
req = (HttpWebRequest)WebRequest.Create(auctionurl);
req.CookieContainer = cookieJar;
req.Referer = "http://server1.online-trucker.dk/index.asp";
req.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.63 Safari/534.3";
req.Accept = "application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
req.Headers.Add("Accept-Language", "da-DK");
req.Headers.Add("Accept-Encoding", "gzip, deflate,sdch");
req.Headers.Add("Accept-Charset", "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3\r\n");
req.Headers.Add("Cache-Control", "max-age=0");
resp = (HttpWebResponse)req.GetResponse();
string kage2 = GetContentFromStream(resp.GetResponseStream());
- - - - - -
Jeg har via et sniffer værktøj prøvet at matche alle headers, og jeg er ved at være der.
Jeg gemmer min session som siden giver mig i min "CookieJar". Der er dog følgende forskel på cookies, alt efter om jeg bruger mit program eller en rigtig browser:
REAL: ASPSESSIONIDSCRAASDB=EFFBFPEAKOBJGLAPNABPLLCB; passes=15; ChatCannel=1
PROGRAM: ASPSESSIONIDSCRAASDB=KPGBFPEAHNDLENDEOAEELMPJ
Når jeg går ind på en side med ovenstående headers samt PROGRAM cookien, så reagerer den som om at jeg IKKE er logget ind..
Jeg er ret lost!
Thanks..