| 发表于:2007-02-05 13:45:42 楼主 |
每次登陆http://www2.baidu.com/太麻烦,做了个模拟自动登陆的跳转到另外一页http://www2.baidu.com/query/query_list.php并取html源码,但是有错误,错误在程序中已标出。那位大侠帮帮忙改改。 protected static string cookieheader; private void form1_load(object sender, eventargs e) { string param = "action=&entered_login=luo&entered_password=123&entered_imagecode=ohtm " byte[] bs = encoding.utf8.getbytes(param); httpwebrequest req = (httpwebrequest)httpwebrequest.create( "http://www2.baidu.com/ "); req.method = "post "; req.allowautoredirect = true; req.contenttype = "application/x-www-form-urlencoded "; req.contentlength = bs.length; cookiecontainer cookiecon = new cookiecontainer(); req.cookiecontainer = cookiecon; using (stream reqstream = req.getrequeststream()) { //req.timeout = 3000; reqstream.write(bs, 0, bs.length); httpwebresponse res = res = (httpwebresponse)req.getresponse(); cookieheader = req.cookiecontainer.getcookieheader(new uri( "http://www2.baidu.com/ ")); httpcontext.current.application.lock();//错误为未将对象引用到实列 httpcontext.current.application[ "cookieheader "] = cookieheader; httpcontext.current.application.unlock(); } using (webresponse wr = req.getresponse()) { streamreader reader = new streamreader(wr.getresponsestream(), encoding.default); richtextbox1.text = reader.readtoend(); } getpage();//用已有的cookie身份跳转的另外一页 } public static string getpage() { httpwebresponse res = null; string strresult = " "; try { string param = "action=&entered_login=luo&entered_password=123&entered_imagecode=ohtm " string url= "http://www2.baidu.com/query/query_list.php "; httpwebrequest req = (httpwebrequest)webrequest.create(url); req.method = "post "; req.keepalive = true; req.contenttype = "application/x-www-form-urlencoded "; cookiecontainer cookiecon = new cookiecontainer(); req.cookiecontainer = cookiecon; req.cookiecontainer.setcookies(new uri(url),cookieheader); byte[] somebytes = null; somebytes = encoding.utf8.getbytes(param); req.contentlength = somebytes.length; stream newstream = req.getrequeststream(); newstream.write(somebytes, 0, somebytes.length); newstream.close(); res = (httpwebresponse)req.getresponse(); stream receivestream = res.getresponsestream(); encoding encode = system.text.encoding.getencoding( "utf-8 "); streamreader sr = new streamreader( receivestream, encode ); richtextbox1.text = reader.readtoend(); } } |
|
|
|
|