wininet.dll函数库:不会过期的cookie (同样可以设置WebBrowser的Cookie)
2009-01-05 16:09
567 查看
using System;
using System.Text;
using System.Runtime.InteropServices;
namespace ConsoleApplication1
{
class Program
{
/// <summary>
/// 设置cookie
/// </summary>
[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern bool InternetSetCookie(string lpszUrlName, string lbszCookieName, string lpszCookieData);
/// <summary>
/// 获取cookie
/// </summary>
[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern bool InternetGetCookie(
string url, string name, StringBuilder data, ref int dataSize);
static void Main(string[] args)
{
//获取旧的
StringBuilder cookie = new StringBuilder(new String(' ',2048));
int datasize = cookie.Length;
bool b= InternetGetCookie("http://community.csdn.net", null, cookie, ref datasize);
//删除旧的
foreach (string fileName in System.IO.Directory.GetFiles(System.Environment.GetFolderPath(Environment.SpecialFolder.Cookies)))
{
if (fileName.ToLower().IndexOf("csdn") > 0)
{
System.IO.File.Delete("csdn");
}
}
//生成新的
foreach (string c in cookie.ToString().Split(';'))
{
string[] item = c.Split('=');
string name = item[0];
string value = item[1] + ";expires=Sun,22-Feb-2099 00:00:00 GMT";
InternetSetCookie("http://community.csdn.net",name,value);
InternetSetCookie("http://forum.csdn.net", name, value);
InternetSetCookie("http://webim.csdn.net", name, value);
}
}
}
}
using System.Text;
using System.Runtime.InteropServices;
namespace ConsoleApplication1
{
class Program
{
/// <summary>
/// 设置cookie
/// </summary>
[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern bool InternetSetCookie(string lpszUrlName, string lbszCookieName, string lpszCookieData);
/// <summary>
/// 获取cookie
/// </summary>
[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern bool InternetGetCookie(
string url, string name, StringBuilder data, ref int dataSize);
static void Main(string[] args)
{
//获取旧的
StringBuilder cookie = new StringBuilder(new String(' ',2048));
int datasize = cookie.Length;
bool b= InternetGetCookie("http://community.csdn.net", null, cookie, ref datasize);
//删除旧的
foreach (string fileName in System.IO.Directory.GetFiles(System.Environment.GetFolderPath(Environment.SpecialFolder.Cookies)))
{
if (fileName.ToLower().IndexOf("csdn") > 0)
{
System.IO.File.Delete("csdn");
}
}
//生成新的
foreach (string c in cookie.ToString().Split(';'))
{
string[] item = c.Split('=');
string name = item[0];
string value = item[1] + ";expires=Sun,22-Feb-2099 00:00:00 GMT";
InternetSetCookie("http://community.csdn.net",name,value);
InternetSetCookie("http://forum.csdn.net", name, value);
InternetSetCookie("http://webim.csdn.net", name, value);
}
}
}
}
相关文章推荐
- ahjesus在asp.net中还可以通过设置HttpCookie对象的过期时间为DateTime.MinValue来指定此Cookies为跟随浏览器生效
- 为什么PHP setcookie()函数在输出后调用也可以设置cookie在远端浏览器?
- connect()函数不是TCP的专用,UDP中同样可以使用
- vb6如何设置和获取 cookie,使用 WinInet api url
- wininet进行http请求时候,当服务器端返回setcookie设置JSESSIONID就会自动设置该cookie
- Hook浏览器控件WebBrowser对WININET.dll的调用
- js创建cookie js设置cookie过期时间
- js设置cookie过期及清除浏览器对应名称的cookie
- js设置cookie过期及清除浏览器对应名称的cookie
- 设置你想要的 分隔符号 比如,;/t 等,这个函数就可以在字符串里边查找分隔符号了
- 完美解决C#Webbrowser控件设置Cookie问题
- 如何设置cookie的过期时间
- 关于cookie过期时间设置
- 在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记。 只有将调试器附加到该进程才会引发此异常
- Zend studio for eclipse中使php可以调用mysql相关函数的设置方法
- PHP如何清除COOKIE?PHP无法删除COOKIE?设置COOKIE有效期、COOKIE过期
- 当子进程结束的时候,其设置的信号捕捉函数不会再父进程生效
- wininet.dll函数库:不会过期的cookie
- 让webbrowser也可以设置代理服务器
- .NET中的Cookie设置HttpOnly,可以防止JS获取Cookie的值