Recientemente, estoy trabajando en un pequeño software que puede iniciar sesión y enviar automáticamente mensajes a través de httpwebrequest. Esto es lo que vi.
1 Uso del sistema;
2using System.Runtime.inTeropServices;
3using System.Text;
4using System.net;
5
6namespace nexplos.nsiter
7 {
8/** //// <summary>
9 /// La clase de método para obtener cookies.
10 /// </summary>
11 Cookiemanger de clase pública
12 {
13/** /// <summary>
14 /// Obtenga datos de cookies a través de com.
15 /// </summary>
16 /// <param name = url> URL actual. </amam>
17 /// <param name = Cookiename> Cookiename. </Param>
18 /// <param name = cookiedata> Se usa para guardar la instancia <ver cref = stringBuilder/> de los datos de cookies. </amam>
19 /// <param name = size> tamaño de cookie. </amam>
20 /// <surns> Devuelve <c> true </c> Si tiene éxito, de lo contrario regresa <c> falso </c>. </devuelto>
21 [dllimport (winet.dll, setLasterRor = true)]
22 Público estático externo bool internetgetcookie (
23 URL de cadena, cadena Cookiename,
24 StringBuilder Cookiedata, REF int tamaño);
25/** //// <summary>
26 /// Obtenga la corriente <ver cref = Cookiecontainer/instancia de <ver cref = uri/>.
27 /// </summary>
28 /// <param name = uri> la dirección actual <ver cref = uri/>. </amam>
29 /// <<vuelve> El actual <ver cref = Cookiecontainer/instancia de <ver cref = uri/>. </devuelto>
30 Public Static Cookiecontainer getUricookeContainer (uri uri) {
31 CookieContainer Cookies = NULL;
32
33 // Defina el tamaño de los datos de las cookies.
34 int dataSize = 256;
35 StringBuilder Cookiedata = new StringBuilder (DataSize);
36
37 if (! Internetgetcookie (uri.ToString (), nulo, cookiedata,
38 refer dataSize)) {
39 if (dataSize <0)
40 regreso nulo;
41
42 // Confirma que hay suficiente espacio para acomodar los datos de las cookies.
43 cookiedata = new StringBuilder (DataSize);
44 if (! Internetgetcookie (uri.ToString (), nulo, cookiedata,
45 refer dataSize))
46 regreso nulo;
47}
48
49
50 if (cookiedata.length> 0) {
51 cookies = new Cookiecontainer ();
52 cookies.setcookies (URI, Cookiedata.ToString (). Reemplazar (';', ','));
53}
54 Cookies de regreso;
55}
56
57}
58} ¿No es bastante simple?