
Ergebnis 1 bis 5 von 5
-
- 31.01.2010, 12:55
- #1
Hey zusammen,
ich bin grade dabei eine Anwendung zu entwickeln und muss dazu im Hintergrund den Login auf eine Webseite und dann einige Aktionen auf der Webseite durchführen. Leider fehlt im CF der Cookie-Support und ich kann mich nicht dauerhaft auf der Seite anmelden. Habt Ihr ne Idee wie man das Problem lösen oder umgehen kann?
Matze
-
entwickelt Apps
- 31.01.2010, 13:49
- #2
Versuch mal eine erste HttpWebResponse der Seite zu erhalten und dann von dieser response die cookies auszulesen. Dann einen neuen request erstellen und diesem request die cookies setzen.
Code:private void TestCookie(string url) { Uri uri = new Uri(url); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri); request.MaximumAutomaticRedirections = 1; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); string cookie = response.Headers["Set-Cookie"]; if (!string.IsNullOrEmpty(cookie)) { request = (HttpWebRequest)WebRequest.Create(uri); request.Headers.Add("Cookie", cookie); response = (HttpWebResponse)request.GetResponse(); } }
-
- 31.01.2010, 15:20
- #3
Vielen Dank schonmal!
Ich hab jetzt mal versucht, das so einzubauen, bin aber bisher noch keinen Schritt weiter. Vielleicht mache ich ja einfach was komplett falsch?
Code:string sessionCookie; HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(new Uri("https://login.o2online.de/loginRegistration/loginAction.do?_flowId=login&o2_type=asp&o2_label=login/comcenter-login&scheme=http&port=80&server=email.o2online.de&url=%2Fssomanager.osp%3FAPIID%3DAUTH-WEBSSO%26TargetApp%3D%2Fsms_new.osp%3F%26o2_type%3Durl%26o2_label%3Dweb2sms-o2online")); httpRequest.Method = "GET"; HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse(); sessionCookie = httpResponse.Headers["Set-Cookie"]; MessageBox.Show("Webseite funktioniert"); if (!string.IsNullOrEmpty(sessionCookie)) { MessageBox.Show("Cookie OK:" + sessionCookie); httpResponse.Close(); httpRequest = (HttpWebRequest)WebRequest.Create(new Uri("https://login.o2online.de/loginRegistration/loginAction.do")); httpRequest.Method = "POST"; string postData = "loginName=" + checkTelNr() + "&password=" + UrlEncode(mtxtPass.Text) + "&_eventId=login"; //http://dalelane.co.uk/blog/?p=894 byte[] buffer = Encoding.ASCII.GetBytes(postData); //httpRequest.ContentLength = buffer.Length; httpRequest.AllowWriteStreamBuffering = true; httpRequest.Headers.Add("Cookie", sessionCookie); Stream postDataStr = httpRequest.GetRequestStream(); postDataStr.Write(buffer, 0, buffer.Length); postDataStr.Flush(); postDataStr.Close(); httpResponse = (HttpWebResponse)httpRequest.GetResponse(); Stream responseStream = httpResponse.GetResponseStream(); StreamReader responseReader = new StreamReader(responseStream); string ret = responseReader.ReadToEnd(); MessageBox.Show("Return: " + ret); if (ret.Contains("Cookies nicht aktiviert")) { MessageBox.Show("Fehler beim setzen des Cookies"); } } else { MessageBox.Show("Cookie-Fehler"); httpResponse.Close(); }
So ich habe mal noch weitergesucht und doch einige Ansätze gefunden. Leider bin ich scheinbar unfähig, die ganzen Sachen richtig anzuwenden. Hier mal meine Quellen:
http://www.pcreview.co.uk/forums/thread-1309088.php
http://groups.google.com/group/micro...b642d1deb28f95
http://ondotnet.com/pub/a/dotnet/200...rviceapps.html
http://www.circumdev.net/post/Net-CF...e-Support.aspx
-
entwickelt Apps
- 01.02.2010, 10:06
- #4
Hmm, wenn ich bei solchen Sachen nicht mehr weiterkomme, erstelle ich mir ein Testprogramm mit dem full framework, implementiere die Aufgabe da und wenn's läuft, versuche ich die nicht im compact framework enthaltenen Klassen/Methoden zu ersetzen (also immer noch auf dem PC).
-
- 01.02.2010, 10:17
- #5
OK, danke für den Hinweis, dann werde ich das wohl mal so versuchen
Ähnliche Themen
-
.NET CF 3.5 einkochen?
Von User29167 im Forum ROM CookingAntworten: 1Letzter Beitrag: 20.12.2009, 13:54 -
NET CF 3.5
Von highforest im Forum HTC Touch ProAntworten: 2Letzter Beitrag: 19.08.2009, 10:17 -
Microsoft .NET CF 3.5
Von MC Downlow im Forum Touch HD AnwendungsprogrammeAntworten: 3Letzter Beitrag: 19.12.2008, 11:11 -
.net Cf 2.0
Von Plumbum im Forum HTC S730Antworten: 8Letzter Beitrag: 03.04.2008, 21:23
Pixel 10 Serie mit Problemen:...