通過COM來獲取CookieContainer,簡單又好用

最近在做一個通過HttpWebRequest來實現登陸和自動發信息的小軟件,雖然還沒有實現,但是今天從一個老外的網站上看到了一個獲取CookieContainer很好的方法,拿出來共享一下,這是我看到過代碼最少而且很不錯的了。

1using System;

2using System.Runtime.InteropServices;

3using System.Text;

4using System.Net;

5

6namespace NEXPlus.NSiter

7{

8 /**//// <summary>

9 /// 獲取Cookie的方法類。

10 /// </summary>

11 public class CookieManger

12 {

13 /**//// <summary>

14 /// 通過COM來獲取Cookie數據。

15 /// </summary>

16 /// <param name="url">當前網址。</param>

17 /// <param name="cookieName">CookieName.</param>

18 /// <param name="cookieData">用于保存Cookie Data的<see cref="StringBuilder"/>實例。</param>

19 /// <param name="size">Cookie大小。</param>

20 /// <returns>假如成功則返回<c>true</c>,否則返回<c>false</c>。</returns>

21 [DllImport("wininet.dll", SetLastError = true)]

22 public static extern bool InternetGetCookie(

23 string url, string cookieName,

24 StringBuilder cookieData, ref int size);

25 /**//// <summary>

26 /// 獲取當前<see cref="Uri"/>的<see cref="CookieContainer"/>實例。

27 /// </summary>

28 /// <param name="uri">當前<see cref="Uri"/>地址。</param>

29 /// <returns>當前<see cref="Uri"/>的<see cref="CookieContainer"/>實例。</returns>

30 public static CookieContainer GetUriCookieContainer(Uri uri) {

31 CookieContainer cookies = null;

32

33 // 定義Cookie數據的大小。

34 int datasize = 256;

35 StringBuilder cookieData = new StringBuilder(datasize);

36

37 if (!InternetGetCookie(uri.ToString(), null, cookieData,

38 ref datasize)) {

39 if (datasize < 0)

40 return null;

41

42 // 確信有足夠大的空間來容納Cookie數據。

43 cookieData = new StringBuilder(datasize);

44 if (!InternetGetCookie(uri.ToString(), null, cookieData,

45 ref datasize))

46 return null;

47 }

48

49

50 if (cookieData.Length > 0) {

51 cookies = new CookieContainer();

52 cookies.SetCookies(uri, cookieData.ToString().Replace(';', ','));

53 }

54 return cookies;

55 }

56

57 }

58} 是不是相當簡單阿,希望對大家有一點用處。

http://www.cnblogs.com/xdotnet/archive/2007/01/08/cookie_container_com.html

 
通過COM來獲取CookieContainer,簡單又好用
最近在做一個通過HttpWebRequest來實現登陸和自動發信息的小軟件,雖然還沒有實現,但是今天從一個老外的網站上看到了一個獲取CookieContainer很好的方法,拿出來共享一下,這是我看到過代碼最少而且很不錯的了。 1u...查看完整版>>通過COM來獲取CookieContainer,簡單又好用
 
彭洪偉:如何通過推廣獲取更好的流量(下)
  前幾天寫過一篇關于流量推廣爲主的文章《如何通過推廣獲取更好的流量(上) 》。其實在這篇文章中只是簡單的把自己以前接觸過的一些流量推廣方法做了個總結。後來有些朋友跟我交流的時候在說,這些方法他們都做過...查看完整版>>彭洪偉:如何通過推廣獲取更好的流量(下)
 
彭洪偉:如何通過推廣獲取更好的流量(上)
  關于網絡推廣,其實都是老生常談了,翻來覆去的,自己都感覺沒有什麽新意,最近受好友長江禮坤的邀請,去做訓練營的培訓講師。說實話,自己都還是一個才進入這個行不到兩年的新手。對于網絡推廣來說,自己也感覺...查看完整版>>彭洪偉:如何通過推廣獲取更好的流量(上)
 
文刀木水:通過熱門事件幫助博客獲取流量
文刀木水:通過熱門事件幫助博客獲取流量
  想要通過熱門事件獲取流量,首先我們就必須了解用戶對于什麽樣的事情感興趣,而往往我們可以通過百度搜索風雲榜了解到今天或者是最近一段時間內搜索量最多的詞彙是什麽,而且這些數據指標往往跟熱門事件緊密相連...查看完整版>>文刀木水:通過熱門事件幫助博客獲取流量
 
通過打造另類QQ空間 獲取大量網站流量
通過打造另類QQ空間 獲取大量網站流量
  QQ空間—一個所有人都知道的普及型網站,當然,也是騰訊公司給我們的一個機會,一個好好利用該空間來爲自己創造利益的機會,首先,大家可以看看我的空間,124664632.qzone.qq.com下面是一部分截圖:  怎麽...查看完整版>>通過打造另類QQ空間 獲取大量網站流量