• 将WebBrowser的cookie信息传给HttpWebRequest


    先建一个"CookieContainer" 把WebBrowser中的Cookie保存在里面
            
        //在WebBrowser中登录 cookie保存在 WebBrowser.Document.Cookie中
                
                 CookieContainer myCookieContainer = new CookieContainer();


                 //String 的Cookie 要转成 Cookie型的 并放入CookieContainer中
                 string cookieStr = webBrowser1.Document.Cookie;
                 string[] cookstr = cookieStr.Split(';');
                 foreach (string str in cookstr)
                 {
                     string[] cookieNameValue = str.Split('=');
                     Cookie ck = new Cookie(cookieNameValue[0].Trim().ToString(), cookieNameValue[1].Trim().ToString());
                     ck.Domain = "www.hao123.com";//必须写对
                     myCookieContainer.Add(ck);
                 }


                 HttpWebRequest hreq = (HttpWebRequest)HttpWebRequest.Create("http://www.hao123.com/search.asp");
                 hreq.Method = "POST";
                 hreq.ContentType = "application/x-www-form-urlencoded";
               
                 //自己创建的CookieContainer
                 hreq.CookieContainer = myCookieContainer;
               
                 string postdata = "id=2005&action=search&name=";
                 byte[] byte1 = Encoding.ASCII.GetBytes(postdata);
                 hreq.ContentLength = byte1.Length;
                
                 Stream poststream = hreq.GetRequestStream();
                 poststream.Write(byte1, 0, byte1.Length);
                 poststream.Close();
            
                 HttpWebResponse hres = (HttpWebResponse)hreq.GetResponse();

  • 相关阅读:
    hugo搭建个人博客
    docker安装mongo
    java+vue跨域每次请求获取不同session问题
    优雅的使用JdbcTemplate
    docker布署springcloud无法使用feign通信
    xxl-job不兼容graylog解决方案
    Springboot集成graylog
    Springboot集成swagger和knife
    Springboot集成xxl-Job
    Springboot中redisTemplate乱码或json转换问题
  • 原文地址:https://www.cnblogs.com/waban/p/1728155.html
Copyright © 2020-2023  润新知