C# 调用动态链接库,给游览器写入Cookie
样例代码:
class Program { /// <summary> /// 写 /// </summary> /// <param name="lpszUrlName"></param> /// <param name="lbszCookieName"></param> /// <param name="lpszCookieData"></param> /// <returns></returns> [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)] public static extern bool InternetSetCookie ( string lpszUrlName, string lbszCookieName, string lpszCookieData ); /// <summary> /// 读 /// </summary> /// <param name="lpszUrlName"></param> /// <param name="lbszCookieName"></param> /// <param name="lpszCookieData"></param> /// <param name="lpdwSize"></param> /// <returns></returns> [DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)] public static extern bool InternetGetCookie ( string lpszUrlName, string lbszCookieName, StringBuilder lpszCookieData, ref int lpdwSize ); /// <summary> /// 异常 /// </summary> /// <returns></returns> [DllImport("kernel32.dll")] public static extern Int32 GetLastError (); static void Main ( string[] args ) { System.Diagnostics.Process.Start("IEXPLORE.EXE", "http://172.16.5.63:8088/ws?uname=122"); System.Threading.Thread.Sleep(1000 * 10); //System.Diagnostics.Process.Start("http://172.16.5.63:8088/ws?uname=122"); if ( !InternetSetCookie("http://172.16.5.63:8088", "Test", DateTime.Now + ";expires=Sun,22-Feb-2099 00:00:00 GMT") ) { Console.WriteLine("错误消息:", GetLastError().ToString()); } StringBuilder cookie = new StringBuilder(new String(' ', 2048)); int datasize = cookie.Length; if ( !InternetGetCookie("http://172.16.5.63:8088", "Test", cookie, ref datasize) ) { Console.WriteLine(GetLastError().ToString()); } Console.WriteLine(cookie.ToString(), datasize); Console.ReadLine(); } }
作者:愤怒的TryCatch
请尊重别人的劳动成果,让分享成为一种美德,欢迎转载。另外,文章在表述和代码方面如有不妥之处,欢迎批评指正。留下你的脚印,欢迎评论!