Treiber vorhanden für K8055 mit csharp unter:
Beispiel Programm für K8055 dotNET
mfg
Klaus
Hi Leute!
Kann mir jemand sagen wie ich mit Csharp an den Zertifikatsspeicher ran komme?
Ich müsste nur checken ob eine bestimmte Art von Zertifikat drinnen steht.
Danke,
Klaus
Hallo!
Wer hat für mich ein Beispiel, mit zwei HttpWebRequest's beim ersten ein Cookie zurückbekommen, und das beim zweiten Request mitsenden?
dann abspeichern beider Cookies, und auf dritten HttpWebRequest beide Cookies mitübergeben?
Klappt so nicht:
//erster Request, + auslesen Cookie
HttpWebRequest firstRequest = (HttpWebRequest)WebRequest.Create("http://URL1");
firstRequest.CookieContainer = new CookieContainer();
firstRequest.CookieContainer.Add(cookies);
HttpWebResponse firstresponse = (System.Net.HttpWebResponse)firstRequest.GetResponse();
//Zweiter Request + mitsenden Cookie aus erstem Request
HttpWebRequest secondRequest = (HttpWebRequest)WebRequest.Create("http://URL2");
//Sende ich diese so mit :question:
CookieCollection cookies = firstResponse.Cookies;
secondRequest.CookieContainer.Add(cookies);
HttpWebResponse secondresponse = (System.Net.HttpWebResponse)secondRequest.GetResponse();
//Nun müsste ich noch eine dritte URL aufrufen, die beide COOKIES benötigt (wegen Redirect)
httpWebRequest thirdRequest =
(HttpWebRequest)WebRequest.Create("http://URL2");
//Mitsenden der gespeichtern Cookies: ?
CookieCollection cookies = firstResponse.Cookies;
CookieCollection cookies = secondResponse.Cookies;
HttpWebResponse thirdresponse = (System.Net.HttpWebResponse)thirdRequest.GetResponse();
Klappt leider so nicht, kann mir wer behilflich sein?
Cookie zwei wird auch gar nicht abgespeichert...
Danke,
Klaus
Werden diese automatisch mitgeschickt? ich muss ja auch explizit angeben wenn ich eine SessionID selber speichere, und diese mitgeben will mit:
request.heades.add("SESSION:.....");
Danke,
Klaus
Hallo!
Habe im CookieContainer, bzw. CookieCollection zwei Cookies gespeichert.
Rufe jetzt mit httpWebrequest eine URL auf, die leitet mich teilweise je nach übergabeparameter auf eine andere Seite weiter, wo ich beidemale alle zwei cookies benötige.
Wie kann ich jetzt den CookieContainer mit übergeben, damit je nach URL was aufgerufen wird, das cookie mitgegeben wird?
Bitte um direkten Aufruf in csharp.
danke,
Klaus
Original von sahaas
...man muss beim ersten request auf die seite einen neuen leeren Cookie Container ertellen und diesen dann bei jeder weiterem request mitgeben !
Beim ersten Request:
httpRequest.CookieContainer = new CookieContainer();
Die Frage dabei: wie speichere ich das Cookie, das ich von der Seite erhalte in den Container?
Wie gehts dann weiter?
Beispielsweise ruf ich jetzt eine weitere Seite auf, wie gebe ich den Container mit?
Wie kann ich, wenn neue Cookies von der Seite zurückkommen in den Container wieder abspeichern?
Wird im verlauf dann jeweils das Cookie mitgesendet, das der Server benötigt, oder muss ich mich jedesmal drum kümmern das jeweilige Cookie aus dem Container herauszu parsen, und speziell zu übergeben?
Danke,
Klaus
Hallo!
Jetzt bin ich schon fast dran!
Ich hole mir aus der Startseite jetzt komfortabel das erste Cookie mit:
CookieCollection myCookieCollection = httpResponse.Cookies;
bzw. setzte das in meinen CookieContainer gleich ein:
for(int i=0; i < httpResponse.Headers.Count; ++i)
{
Console.WriteLine("\nHeader Name:{0}, Value :{1}",httpResponse.Headers.Keys[i],httpResponse.Headers[i]);
if(httpResponse.Headers.Keys[i]=="Set-Cookie")
sessionID=httpResponse.Headers[i];
}
splitter=sessionID.Split(';');
sessionID=splitter[0];
httpRequest.CookieContainer.SetCookies(new Uri("http://www.seite.at"), sessionID);
Soweit so gut, doch jetzt gehts um folgendes:
Ich hole mir jetzt von der zweiten Seite auch das Cookie, und füge es wiederum mit:
httpRequest.CookieContainer.SetCookies(new Uri("http://appl.seite.at"), sessionID2);
ein! MEINE Frage:
Wie kann ich die Cookies, die ich jetzt entweder in der CookieCollection od. CookieContainer habe, mitsenden, je nach URL was weiter aufgerufen wird?
habe das vorher so gemacht:
httpRequest.Headers.Add("Cookie:" + this.sessionID);
Wie kann ich jetzt den CookieContainer beauftragen je nach URL was aufgerufen wird das Cookie weiter zu geben?
Weil mein Hauptproblem liegt ja darin, dass ich eine Seite aufrufe, und umgeleitet werde, zwei verschiedene Cookies, jetzt soll der CookieContainer helfen, aber wie?
Danke,
Klaus
Hallo Leute!
Habe jetzt folgendes rausgefunden!
Die Seite auf die ich zugreife lautet einmal:
http://www.seite.at
mit speziellem Cookie,
und ein anderes mal:
http://appl.seite.at
wiederum mit anderem Cookie
Das heißt: Die Seite besitzt 2 Cookies! wenn ich Webrequests mache wie oben im Code, und mit req.header("COOKIE=...:") arbeite, verwende ich wenn ich auf der einen Seite umgeleitet werde, das falsche Cookie!
Kann mir jemand helfen, wie ich von dieser Seite beide Cookies speichern kann, und je nach Umleitung und LINK, das richtige Cookie im Header mitsenden kann?
Bitte um Hilfe!
Danke,
Klaus
Hallo!
Vorweg, ich betreibe hier nichts illegales, ich logge mich lediglich bei einem FREE SMS Dienst mit meinen USer Daten ein.
Der Login klappt, ein Cookie kommt daher, das speichere ich, und ruf die nächste Seite mit dem Cookie auf, sieht dann so aus im Sniffer:
Hypertext Transfer Protocol
GET /appls/sms/sms.aspx HTTP/1.1\r\n
Request Method: GET
Request URI: /appls/sms/sms.aspx
Request Version: HTTP/1.1
Cookie: ASPSESSIONIDCAACBDDA=JHBGHFIAKNLDNDJGBEBDLCLI\r\n
Host: appl.b****.at\r\n
\r\n
Allerdings werde ich dann immer an eine andere Adresse weitergeleitet, von der wieder zurück usw. bis ich im Catch bereich lande, und da steht dann: Zu viele Umleitungen.
Per Netzwerksniffer müsste der Anlauf auf die nächste Seite so aussehen (gesnifft vom original klicken auf der Website):
Hypertext Transfer Protocol
GET /appls/sms/sms.aspx HTTP/1.1\r\n
Request Method: GET
Request URI: /appls/sms/sms.aspx
Request Version: HTTP/1.1
Host: appl.b****.at\r\n
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7\r\n
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,/;q=0.5\r\n
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n
Accept-Encoding: gzip,deflate\r\n
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n
Keep-Alive: 300\r\n
Connection: keep-alive\r\n
Referer: http://www....../autoLayouts/navLinks.asp?katNr=26663\r\n
Cookie: ASP.NET_SessionId=g3jj0o45m125xf45dp4w2bjg\r\n
\r\n
Hier deutlich zu erkennen, ein anderes COOKIE! auch der Referer Eintrag zu der Seite wird gleich im Anschluss daran aufgerufen!
Meine Frage: wie kann ich dieses Paket nachstellen im csharp? wie kann man einen Referer Eintrag setzen, und verhindern, nach dem normalen aufruf weitergeleitet zu werden?
Danke,
Klaus
Hi Leute!
Folgendes Problem:
Bräuchte eine Cookie Information aus einer Seite innerhalb eines LOGIN Bereiches, nachdem ich mit einem schon gespeicherten Cookie auf diese Seite zugreife.
Das Problem: Ich greif auf eine Seite im Login bereich zu, danach werde ich leider auf eine andere Seite weitergeleitet. (übergebe allerdings das Cookie, das für das Login verantwortlich ist).
Habe durch Netzwerk Sniffer herausgefunden, dass sich für diese eine Seite, die ich zugreifen möchte wirklich ein anderes Cookie vorfindet. da ich allerdings mit dem Login Cookie zugreife, erhalte ich wenn ich mit httResponse die Antwort empfange, kein gültiges Cookie retour. (Wahrscheinlich wegen der ganzen Umleiterei..)
Daher meine Frage:
Kann man irgendwie verhindern, dass man weitergeleitet wird? Kann ich bis zum letzten URL wo ich weitergeleitet wurde, alle Cookies speichern?
Derzeit mein Source nach dem LOGIN, und dann Zugriff auf diese bestimmte Seite:
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://.....");
req.MaximumAutomaticRedirections = 1;
req.AllowAutoRedirect = false;
//Hier wird das aktuelle LOGIN Cookie übergeben
req.Headers.Add("Cookie:" + this.sessionID);
HttpWebResponse response = (System.Net.HttpWebResponse)req.GetResponse();
for (int i = 0; i < req.Headers.Count; ++i)
{
Console.WriteLine("\nHeader2 Name:{0}, Value :{1}", req.Headers.Keys[i], response.Headers[i]);
if (response.Headers.Keys[i] == "Set-Cookie")
sessionID = response.Headers[i];
}
splitter = sessionID.Split(';');
sessionID = splitter[0];
StreamReader responseReader2 = new StreamReader(response.GetResponseStream(), System.Text.Encoding.GetEncoding("iso-8859-1"));
//Hier bekomme ich noch Antwort, bzw. eine eingeloggte Seite!
result = responseReader2.ReadToEnd();
responseReader2.Close();
Wird dieser Code oben ausgeführt, so erhalte ich im Netzwerksniffer folgendes:
HTTP/1.1 302 Found
Connection: Keep-Alive
Transfer-Encoding: chunked
Date: Mon, 09 Oct 2006 19:09:50 GMT
Location: http://......
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 1.1.4322
Set-Cookie: ASP.NET_SessionId=hp3fswj3dlcmorv5f00l2qrl; path=/
Cache-Control: private
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href='http://..../GRl7=p8oReQB4-2FXc-o8Hv-tgAj-n6aOpViOeNBB&wRBKAOmK=3&UiWMVGy7V=Ohv7://2TIF.LCSZc.dx/2TIF8/MTg/Apw.2WIR'>here</a>.</h2>
</body></html>
Da steckt sogar das richtige COOKIE drinnen !! aber wie lese ich das aus? Der Source oben, ist beinahe identisch wie der, um das erste cookie auszulesen, allerdings aus einer POST Methode.
Kann mir jemand helfen das Cookie zu bekommen?
Im Trace vom Visual Studio folgende Ausgabe:
Header2 Name:Cookie, Value :Keep-Alive
Header2 Name:Host, Value :chunked
Header2 Name:Connection, Value :private
Danke,
Klaus
Danke,
Klaus