it-swarm.com.de

Erhalten Sie Cookies von httpwebrequest

Ich versuche, alle Cookies von einer Website zu erhalten, die diesen Code verwendet

        CookieContainer cookieJar = new CookieContainer();

        var request = (HttpWebRequest)HttpWebRequest.Create("http://www.foetex.dk/ugenstilbud/Pages/Zmags.aspx");
        request.CookieContainer = cookieJar;

        var response = request.GetResponse();

        foreach (Cookie c in cookieJar.GetCookies(request.RequestUri))
        {
            Console.WriteLine("Cookie['" + c.Name + "']: " + c.Value);
        }

        Console.ReadLine();

Das einzige, was ich möchte, ist mit console.writeline anzuzeigen, aber ich bekomme keine einzige davon.

9
Peter

Im folgenden Beispiel wird die HttpCookie-Klasse und ihre Eigenschaften verwendet, um ein Cookie mit einem bestimmten Namen zu lesen.

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");

Rufen Sie die Werte in der HttpWebResponse.Cookies - Eigenschaft von HttpWebResponse ab. In diesem Beispiel werden die Cookies abgerufen und im isolierten Speicher gespeichert: 

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();
            }
        }

    }
}
9
Obama
//Please use this,
HttpWebRequest request = null;
request = HttpWebRequest.Create(StringURL) as HttpWebRequest;                
HttpWebResponse TheRespone = (HttpWebResponse)request.GetResponse();
String setCookieHeader = TheRespone.Headers[HttpResponseHeader.SetCookie];
12
Mnyikka

Um die Liste der Cookies abzurufen, können Sie die unten stehende Methode verwenden.

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();
        }
    }
}
1
Alper Ebicoglu