小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

c#模擬登錄,cookie問題

 命運之輪 2010-05-05

方法一是將cookie以ref方式的參數(shù)傳遞進(jìn)登錄的方法中,在以后抓其它頁面時也帶著這個cookie。
下面的方法中后面部分,如果只是將request中的cookie保留,即req.CookieContainer.GetCookieHeader(new Uri(url)),則對有些網(wǎng)站可行,而對一些網(wǎng)站,比如水木社區(qū)就不行。
加上后面的部分:cookie += “; ” + res.Headers.Get(”Set-Cookie”);則可以了。
而實際response中的cookie實際上只是比request中的多了個path=/。
也正是這種重復(fù),讓我想肯定是別的辦法。


public static string PostUrl(String method, String url, String paramList, String referer, ref String cookie)

//設(shè)置cookie.
CookieContainer cookieCon = new CookieContainer();
req.CookieContainer = cookieCon;
req.CookieContainer.SetCookies(new Uri(url), cookie);

res = (HttpWebResponse)req.GetResponse();
//將cookie給回傳參數(shù)。
cookie = req.CookieContainer.GetCookieHeader(new Uri(url));
Console.WriteLine("before:" + cookie);
//下面這句話是要刪掉就不行了。其實下面這句response中的cookie包含了前面request中的部分。
cookie += "; " + res.Headers.Get("Set-Cookie");
Console.WriteLine("after:" + cookie);

方法二:
此方法的類中有一個成員變量,為了方便設(shè)置成potected類型,這樣在post數(shù)據(jù)登錄,還是get其它頁面時都將req.CookieContainer 設(shè)置成該公用的cookies.
該方法使用時少傳遞了個參數(shù),調(diào)用方便點,另外設(shè)置cookie的位置也簡單了。
在水木社區(qū)上也測試通過了。

PostUrl(String url, String paramList, String referer)


protected CookieContainer cookies = new CookieContainer();
//設(shè)置cookie.
req.CookieContainer = cookies;

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多