Get cookies from httpwebrequest

后端 未结 3 1127
-上瘾入骨i
-上瘾入骨i 2020-12-16 18:33

I\'m trying to get all cookies from a website using this code

        CookieContainer cookieJar = new CookieContainer();

        var request = (HttpWebReque         


        
相关标签:
3条回答
  • 2020-12-16 18:59

    The following example uses the HttpCookie class and its properties to read a cookie with a specific name.

    HttpCookie myCookie = new HttpCookie("MyTestCookie");
    myCookie = Request.Cookies["MyTestCookie"];
    
    // Read the cookie information and display it.
    if (myCookie != null)
       Response.Write("<p>"+ myCookie.Name + "<p>"+ myCookie.Value);
    else
       Response.Write("not found");
    

    Retrieve the values in the HttpWebResponse.Cookies property of HttpWebResponse. In this example, the cookies are retrieved and saved to isolated storage:

    private void ReadCallback(IAsyncResult asynchronousResult)
    {
        HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState;
        HttpWebResponse response = (HttpWebResponse)
            request.EndGetResponse(asynchronousResult);
        using (IsolatedStorageFile isf =
            IsolatedStorageFile.GetUserStoreForSite())
        {
            using (IsolatedStorageFileStream isfs = isf.OpenFile("CookieExCookies",
                FileMode.OpenOrCreate, FileAccess.Write))
            {
                using (StreamWriter sw = new StreamWriter(isfs))
                {
                    foreach (Cookie cookieValue in response.Cookies)
                    {
                        sw.WriteLine("Cookie: " + cookieValue.ToString());
                    }
                    sw.Close();
                }
            }
    
        }
    }
    
    0 讨论(0)
  • 2020-12-16 19:07
    //Please use this,
    HttpWebRequest request = null;
    request = HttpWebRequest.Create(StringURL) as HttpWebRequest;                
    HttpWebResponse TheRespone = (HttpWebResponse)request.GetResponse();
    String setCookieHeader = TheRespone.Headers[HttpResponseHeader.SetCookie];
    
    0 讨论(0)
  • 2020-12-16 19:16

    To get the list of cookies, you can use the below method;

    private async Task<List<Cookie>> GetCookies(string url)
    {
        var cookieContainer = new CookieContainer();
        var uri = new Uri(url);
        using (var httpClientHandler = new HttpClientHandler
        {
            CookieContainer = cookieContainer
        })
        {
            using (var httpClient = new HttpClient(httpClientHandler))
            {
                await httpClient.GetAsync(uri);
                return cookieContainer.GetCookies(uri).Cast<Cookie>().ToList();
            }
        }
    }
    
    0 讨论(0)
提交回复
热议问题