Vor kurzem arbeite ich an einer kleinen Software, die sich über httpwebRequest automatisch anmelden und automatisch anmelden kann. Das habe ich gesehen.
1 -UNS -System;
2Using System.Runtime.Interopservices;
3USS System.text;
4Using System.net;
5
6NameSpace NexPLOS.NSiter
7 {
8/** //// <summary>
9 /// Die Methodenklasse, um Cookies zu erhalten.
10 /// </summary>
11 öffentliche Klassen Cookiemanger
12 {
13/** /// <summary>
14 /// Cookie -Daten über com.
15 /// </summary>
16 /// <param name = url> aktuelle URL. </param>
17 /// <param name = cookiename> cookiename. </Param>
18 /// <param name = cookedata> verwendet, um die <siehe cref = stringBuilder/> Instanz der Cookie -Daten zu speichern. </param>
19 /// <Paramame = Größe> Cookie -Größe. </param>
20 /// <returns> Returns <C> True </c> Wenn erfolgreich, ansonsten return <c> false </c>. </returns>
21 [dllimport (Winet.dll, setlasterror = true)]]
22 öffentliches statisches externes Bool Internetgetcookie (
23 String -URL, String Cookiename,
24 StringBuilder Cookiedata, Ref int -Größe);
25/** //// <summary>
26 /// Erhalten Sie den Strom <siehe cref = cookieRtainer/Instanz von <siehe cref = uri/>.
27 /// </summary>
28 /// <param name = uri> Der aktuelle <siehe cref = uri/> Adresse. </param>
29 /// <zurückgegeben> Der Strom <siehe cref = cookieRtainer/Instanz von <siehe cref = uri/>. </returns>
30 public statische Cookontainer GeturicookeContainer (Uri Uri) {
31 CookieContainer Cookies = NULL;
32
33 // Definieren Sie die Größe der Cookie -Daten.
34 int DataSize = 256;
35 StringBuilder cookedata = new StringBuilder (DataSize);
36
37 if (! InternetGetcookie (uri.tostring (), null, cookedata,
38 Ref DataSize)) {
39 if (DataSize <0)
40 Return Null;
41
42 // Bestätigen Sie, dass genügend Platz vorhanden ist, um Cookie -Daten aufzunehmen.
43 cookedata = new StringBuilder (DataSize);
44 if (! InternetGetcookie (uri.tostring (), null, cookedata,
45 Ref DataSize)))
46 Rückkehr null;
47}
48
49
50 if (cookedata.length> 0) {
51 Cookies = New CookieContainer ();
52 Cookies.Setcookies (Uri, Cookedata.toString (). Ersetzen (';', ','));
53}
54 Return Cookies;
55}
56
57}
58} Ist es nicht ganz einfach?