เมื่อเร็ว ๆ นี้ฉันกำลังทำงานกับซอฟต์แวร์ขนาดเล็กที่สามารถเข้าสู่ระบบและส่งข้อความผ่าน HttpWebrequest โดยอัตโนมัติ นี่คือสิ่งที่ฉันเห็น
1 การใช้ระบบ;
2 ใช้ System.runtime.interopservices;
3Sing System.Text;
4using System.net;
5
6namespace nexplos.nsiter
7 {
8/** //// <summary>
9 /// คลาสวิธีการรับคุกกี้
10 /// </summary>
11 cookiemanger ชั้นเรียนสาธารณะ
12 {
13/** /// <summary>
14 /// รับข้อมูลคุกกี้ผ่าน com
15 /// </summary>
16 /// <param name = url> URL ปัจจุบัน </param>
17 /// <param name = cookiename> cookiename. </param>
18 /// <param name = cookiedata> ใช้เพื่อบันทึก <ดู cref = stringbuilder/> อินสแตนซ์ของข้อมูลคุกกี้ </param>
19 /// <param name = size> ขนาดคุกกี้ </param>
20 /// <turns> return <c> true </c> หากสำเร็จมิฉะนั้นจะส่งคืน <c> false </c> </returns>
21 [DLLIMPORT (WINET.DLL, SETLASTROR = TRUE)]
22 Public Extern Extern Bool InternetgetCookie (
23 url สตริง, สตริง cookiename,
24 StringBuilder Cookiedata, Ref Int ขนาด);
25/** //// <summary>
26 /// รับกระแส <ดู cref = cookieContainer/อินสแตนซ์ของ <ดู cref = uri/>
27 /// </summary>
28 /// <param name = uri> ปัจจุบัน <ดู cref = uri/> ที่อยู่ </param>
29 /// <turns> ปัจจุบัน <ดู cref = cookieContainer/อินสแตนซ์ของ <ดู cref = uri/> </returns>
30 public cookiecontainer geturicookiecontainer (Uri uri) {
31 คุกกี้ CookieContainer = NULL;
32
33 // กำหนดขนาดของข้อมูลคุกกี้
34 int datasize = 256;
35 StringBuilder cookiedata = new StringBuilder (DATASIZE);
36
37 ถ้า (! InternetGetCookie (uri.toString (), null, cookiedata,
38 REF DATASIZE)) {
39 ถ้า (datasize <0)
40 return null;
41
42 // ยืนยันว่ามีพื้นที่เพียงพอที่จะรองรับข้อมูลคุกกี้
43 cookiedata = new StringBuilder (DATASIZE);
44 if (! InternetGetCookie (uri.toString (), null, cookiedata,
45 REF DATASIZE))
46 Return Null;
47}
48
49
50 ถ้า (cookiedata.length> 0) {
51 คุกกี้ = ใหม่ CookieContainer ();
52 Cookies.setCookies (URI, Cookiedata.ToString (). แทนที่ (';', ','));
53}
54 กลับมาคุกกี้;
55}
56
57}
58} ไม่ใช่เรื่องง่ายเหรอ?