指定webbrowser的cookie 该怎么解决

 我来答
匿名用户
2016-07-16
展开全部
1.在WebBrowser中获取CookieCookieContainermyCookieContainer=newCookieContainer();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="";myCookieContainer.Add(ck);}WebClient设置cookie!WebClientwc=newWebClient();wc.Headers.Add("Cookie","PHPSESSID="+cookie+";");//注意,这里是Cookie,不是Set-Cookiebyte[]re=wc.UploadData(Global.RootPath+"test.php",newbyte[0]);System.Text.UTF8Encodingconverter=newSystem.Text.UTF8Encoding();stringstr=converter.GetString(re);2.在WebBrowser中设置CookiepublicpartialclassWebBrowserControl:Form{privateStringurl;[DllImport("wininet.dll",CharSet=CharSet.Auto,SetLastError=true)]publicstaticexternboolInternetSetCookie(stringlpszUrlName,stringlbszCookieName,stringlpszCookieData);publicWebBrowserControl(Stringpath){this.url=path;InitializeComponent();//setcookieInternetSetCookie(url,"JSESSIONID",Globals.ThisDocument.sessionID);//navigatewebBrowser.Navigate(url);}}3.将WebBrowser的cookie信息传给HttpWebRequest先建一个"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="";//必须写对myCookieContainer.Add(ck);}HttpWebRequesthreq=(HttpWebRequest)HttpWebRequest.Create("/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();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
苏州蓝晓生物科技有限公司_
2022-08-05 广告
苏州蓝晓生物科技有限公司。标准化核心产品:公司拥有完整的琼脂糖介质、葡聚糖介质、聚甲基丙烯酸酯介质生产线,年产分离介质50000L,产品质量稳定并达到国际领先水平。核心优势:公司核心技术人员拥有近二十年不同基质的基球开发和官能化的丰富技术经... 点击进入详情页
本回答由苏州蓝晓生物科技有限公司_提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式