简体   繁体   English

如何从Internet Explorer获取与Cookie关联的到期日期和标志?

[英]How to get expiration date and flags associated with a cookie from Internet Explorer?

I can get the value of a cookie with InternetGetCookie or InternetGetCookieEx . 我可以使用InternetGetCookieInternetGetCookieEx获得cookie的值。 But I 'd like to get the expiration date and the flags (httpOnly, secure) as well as the data. 但是我想获取到期日期和标志(httpOnly,安全)以及数据。 I couldn't find a function (C++ or C#) that allows me to do that from within Internet Explorer (a BHO). 我找不到允许我从Internet Explorer(BHO)中执行此操作的函数(C ++或C#)。

using System.Net;
using System;

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(<your URL>);
request.CookieContainer = new CookieContainer();

HttpWebResponse response = (HttpWebResponse) request.GetResponse();

// Print the properties of each cookie.
foreach (Cookie cook in response.Cookies)
{
  Console.WriteLine("Cookie:");
  Console.WriteLine("{0} = {1}", cook.Name, cook.Value);
  Console.WriteLine("Domain: {0}", cook.Domain);
  Console.WriteLine("Path: {0}", cook.Path);
  Console.WriteLine("Port: {0}", cook.Port);
  Console.WriteLine("Secure: {0}", cook.Secure);

  Console.WriteLine("When issued: {0}", cook.TimeStamp);
  Console.WriteLine("Expires: {0} (expired? {1})", cook.Expires, cook.Expired);
  Console.WriteLine("Don't save: {0}", cook.Discard);    
  Console.WriteLine("Comment: {0}", cook.Comment);
  Console.WriteLine("Uri for comments: {0}", cook.CommentUri);
  Console.WriteLine("Version: RFC {0}" , cook.Version == 1 ? "2109" : "2965");

  // Show the string representation of the cookie.
  Console.WriteLine ("String: {0}", cook.ToString());
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM