问题描述
如何获取系统中保存的某一个站点的COOKIE然后供HttpWebRequest使用?用DELPHI可以用INTERNETGETCOOKIE这个API实现类似功能,C#可以么?
解决方案
解决方案二:
解决方案三:
我说的是WINFORM
解决方案四:
通过WebBrowser获取cookie
解决方案五:
先建一个"CookieContainer"把WebBrowser中的Cookie保存在里面//在WebBrowser中登录 cookie保存在 WebBrowser.Document.Cookie中CookieContainermyCookieContainer=newCookieContainer();//String的Cookie 要转成 Cookie型的 并放入CookieContainer中stringcookieStr=webBrowser1.Document.Cookie;string[]cookstr=cookieStr.Split(';');foreach(stringstrincookstr){string[]cookieNameValue=str.Split('=');Cookieck=newCookie(cookieNameValue[0].Trim().ToString(),cookieNameValue[1].Trim().ToString());ck.Domain="www.abc.com";//必须写对myCookieContainer.Add(ck);}HttpWebRequesthreq=(HttpWebRequest)HttpWebRequest.Create("http://www.abc.com/search.asp");hreq.Method="POST";hreq.ContentType="application/x-www-form-urlencoded";//自己创建的CookieContainerhreq.CookieContainer=myCookieContainer;stringpostdata="id=2005&action=search&name=";byte[]byte1=Encoding.ASCII.GetBytes(postdata);hreq.ContentLength=byte1.Length;Streampoststream=hreq.GetRequestStream();poststream.Write(byte1,0,byte1.Length);poststream.Close();HttpWebResponsehres=(HttpWebResponse)hreq.GetResponse();
解决方案六:
按照楼上的方法实现了,但是WebBrowser异步用起来很不方便。C#可否调用APIInternetGetCookie获取Cookie字串呢?网上有一些这样的教程,但是都获取不成功。可不可以提供一段测试成功的代码?