
Ergebnis 1 bis 9 von 9
-
Mich gibt's schon länger
- 15.10.2014, 17:42
- #1
Hi leute,
ich versuche wie das thema schon sagt cookies bei einem web request auszulesen. Leider gelingt mir das bisher nicht.
Code:try { HttpWebRequest webRequest = (HttpWebRequest)result.AsyncState; //webRequest.CookieContainer.Count == 2 using (HttpWebResponse response = (HttpWebResponse)webRequest.EndGetResponse(result)) { //response.Cookies.Count == 0 using (StreamReader streamReader = new StreamReader(response.GetResponseStream())) { Response = streamReader.ReadToEnd(); streamReader.Close(); response.Close(); } } if (this.GetResponse != null) this.GetResponse(this, new EventArgs()); } catch (Exception ex) { }
-
Mich gibt's schon länger
- 16.10.2014, 20:42
- #2
Niemand nen Ansatz?
-
Gehöre zum Inventar
- 17.10.2014, 09:35
- #3
Was passiert wenn du es so wie in der Antwort hier machst: http://stackoverflow.com/questions/5...ttpwebresponse
Also einen eigenen Cookie-Container anlegst und an den Request übergibst bevor du in absendest?
-
Mich gibt's schon länger
- 17.10.2014, 10:39
- #4
Das mach ich bereits. Wenn ich das nicht machen würde, wäre webRequest.CookieContainer == null
-
Mich gibt's schon länger
- 17.10.2014, 19:07
- #5
hier mal der ganze request ... vieleicht kann man ja da was erkennen
Code:public void SubmitAction(string url) { try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(url)); request.ContentType = "application/x-www-form-urlencoded"; request.Method = "POST"; request.CookieContainer = new CookieContainer(); //request.AllowAutoRedirect = false; request.BeginGetRequestStream(new AsyncCallback(GetRequestStreamCallback), request); } catch (Exception e) { } } private void GetRequestStreamCallback(IAsyncResult asyncResult) { string json = RequestData.Stringify(); HttpWebRequest request = (HttpWebRequest)asyncResult.AsyncState; try { using (Stream postStream = request.EndGetRequestStream(asyncResult)) { StringBuilder postData = new StringBuilder(); postData.Append("app=" + json); postData.Append("&crc=" + CreateChecksum(json)); byte[] postDataByteArray = Encoding.UTF8.GetBytes(postData.ToString()); postStream.Write(postDataByteArray, 0, postData.Length); postStream.Close(); } request.BeginGetResponse(new AsyncCallback(GetResponseCallback), request); } catch (Exception ex) { } } private void GetResponseCallback(IAsyncResult result) { try { HttpWebRequest webRequest = (HttpWebRequest)result.AsyncState; //webRequest.CookieContainer.Count == 2 using (HttpWebResponse response = (HttpWebResponse)webRequest.EndGetResponse(result)) { //response.Cookies == 0 using (StreamReader streamReader = new StreamReader(response.GetResponseStream())) { Response = streamReader.ReadToEnd(); streamReader.Close(); response.Close(); } } if (this.GetResponse != null) this.GetResponse(this, new EventArgs()); } catch (Exception ex) { } }
-
Mich gibt's schon länger
- 15.11.2014, 12:08
- #6
HttpWebRequest ist uralt. Und dein Code voller boilerplate.
Benutze doch eine moderne Klasse für solche Request.
http://msdn.microsoft.com/de-de/libr...v=vs.118).aspx (Gibt es über Nuget für WP8)
Hier ist ein Beispiel wie man an die Cookies kommt http://stackoverflow.com/a/13318204 (nicht so schön, da .Result statt await verwendet wird, aber egal)
-
Mich gibt's schon länger
- 16.11.2014, 19:55
- #7
Ich wusste nich das die Uralt ist ... das steht ja auch nirgends ^^
Aber danke weiss ich bescheid
nur leider will das auch nich so ganz klappen :/
Code:CookieContainer cookies = new CookieContainer(); HttpClientHandler handler = new HttpClientHandler(); handler.CookieContainer = cookies; //handler.AllowAutoRedirect = false; HttpClient httpClient = new HttpClient(handler) { BaseAddress = mainUri, Timeout = TimeSpan.FromSeconds(5) }; try { HttpResponseMessage response = await httpClient.PostAsync(subUrl, content); using (HttpContent responseContent = response.Content) { string result = await responseContent.ReadAsStringAsync(); if (!String.IsNullOrEmpty(result)) { Response = result; IEnumerable<Cookie> responseCookies = cookies.GetCookies(new Uri("...")).Cast<Cookie>(); foreach (Cookie cookie in responseCookies) { } } } }
-
Mich gibt's schon länger
- 16.11.2014, 21:15
- #8
-
Mich gibt's schon länger
- 16.11.2014, 21:41
- #9
Ja genau cookies.Count == 2
Jo die sind gleich, habs aber dennoch mal deine variante ausprobiert ... leider das gleiche resultat
Ähnliche Themen
-
Excel-Datei auslesen
Von A-n-d-y im Forum ProgrammierenAntworten: 2Letzter Beitrag: 05.09.2008, 15:24 -
Ordnerinhalt auslesen/Fehlermeldung
Von fsg4u im Forum ProgrammierenAntworten: 1Letzter Beitrag: 04.08.2008, 11:00 -
PocketPC / WinCE - Auslesen des netzwerk Status
Von Azubi im Forum ProgrammierenAntworten: 1Letzter Beitrag: 03.07.2006, 11:52 -
Zeit auslesen
Von marc_ch im Forum ProgrammierenAntworten: 10Letzter Beitrag: 01.10.2003, 10:21
Pixel 10 Serie mit Problemen:...