簡體   English   中英

HttpWebRequest不接受Cookie C#

[英]HttpWebRequest no accepting cookies C#

我在HttpWebRequest接受Cookie時遇到問題,這是我的代碼:

        HttpWebRequest req= (HttpWebRequest)WebRequest.Create("https://www.companyabc.com/security?action=authenticate");
        req.CookieContainer = new CookieContainer();
        req.CookieContainer.Add(new Uri("https://www.companyabc.com"), new CookieCollection());
        string postData = "account_id=xxxx&password=xxxx";
        req.KeepAlive = true;

        byte[] send = Encoding.Default.GetBytes(postData);
        req.Method = "POST";
        req.ContentType = "application/x-www-form-urlencoded";
        req.ContentLength = send.Length;

        Stream sout = req.GetRequestStream();
        sout.Write(send, 0, send.Length);
        sout.Flush();
        sout.Close();

我得到的答復是:

抱歉...我們檢測到您的瀏覽器未設置為允許會話Cookie。 我們的平台使用cookie來幫助增強您的整體用戶體驗。 沒有他們,您將無法登錄。 請啟用會話Cookie,然后重試。 通過...聯系我們。

我究竟做錯了什么? 在此先感謝您。

僅供參考,我可以訪問網頁並登錄,而瀏覽器沒有任何問題。 當我嘗試自動執行該過程時,問題就來了。

聽起來您正在與之交談的url需要一些特定的標頭。 嘗試將User-Agent標頭設置為Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0 (默認Firefox UserAgent)。

失敗的話,請查看Firefox中的請求(打開開發人員工具,然后在按下登錄按鈕之前切換到“網絡”標簽),然后查看該請求還有其他標頭。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM