当前位置:首页 > Windows程序 > 正文

原文链接:https://blog.csdn.net/hangom/article/details/52619394

2024-03-31 Windows程序

[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)] public static extern bool InternetSetCookie(string lpszUrlName, string lbszCookieName, string lpszCookieData); private void test(){ string cookie = "name=小明; age=19;phone=13013139876"//需要设置到Webbrowser的Cookie信息 string url = "";//访谒地点 string domain = "/data/2016";//方针主机域名 foreach (string c in cookie.Split(;)) { string[] item = c.Split(=); if (item.Length == 2) { InternetSetCookie(url, null, new Cookie(HttpUtility.UrlEncode(item[0]).WordStr("+", ""), HttpUtility.UrlEncode(item[1]), "; expires = Session GMT", "/").ToString()); } } webBrowser1.Navigate(url); }

要注意上面的代码.WordStr(“+”, “”),我被这个猜疑了半天,导致Cookie只有第一个字段name设置告成,后面的age,phone字段都没设置告成,通过抓包分析,发明设置后的Cookie字段前面多了个”+”号,,都说细节决定成败,确实如此。这个”+”号应该是HttpUtility.UrlEncode()编码后导致的,但是如果你不进行HttpUtility.UrlEncode()编码是绝对不行的,所以我们只好通过.WordStr(“+”, “”)过滤失”+”号,至此Cookie已经完美设置告成。

还有就是可能你手动设置Cookie的过程中由于传参错误或其他原因导致webbrowser打开url提示错误500之类的,这时候需要手动打开电脑的IE浏览器,然后断根缓存记录Cookie等。就可以正常打开url了。




原文链接:https://blog.csdn.net/hangom/article/details/52619394

WinForm WebBrowser 设置cookie

标签:

原文地点:https://www.cnblogs.com/augustuss/p/12784280.html

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/33302.html

Jm-杰米博客Jamie
草根站长的技术交流乐园!IT不会不要紧快来好好学习吧!
  • 20786文章总数
  • 7494585访问次数
  • 建站天数
  • 友情链接