C#做post请求遇到cookie相关问题

问题描述

intwanIndex=int.Parse(this.wanIndex.Text);stringaction=string.Empty;if(this.Login.Text.Equals("连接")){action="restart";}else{action="stop";}//路由器登录账号密码stringpostData="user="+srtUseId;postData+=("&password="+strPassWord);//POST请求登录路由器获取cookieASCIIEncodingencoding=newASCIIEncoding();byte[]bData=encoding.GetBytes(postData);////创建HTTP请求HttpWebRequestpostReq=(HttpWebRequest)WebRequest.Create("http://192.168.1.1/login.cgi");////配置请求headerpostReq.Method="POST";//防止请求参数有中文编码?postReq.ContentType="application/x-www-form-urlencoded";postReq.CookieContainer=myCook;postReq.ContentLength=bData.Length;//senddataStreammyStream=postReq.GetRequestStream();myStream.Write(bData,0,bData.Length);myStream.Close();//GetresponseHttpWebResponsepostRes=(HttpWebResponse)postReq.GetResponse();StreamReaderpostReader=newStreamReader(postRes.GetResponseStream(),Encoding.GetEncoding("gb2312"));//需要截取POST请求响应报文中的cookie作为下一次GET请求的cookie,已经通过抓包获取具体格式//Get("Set-Cookie")返回头中cookieCookiesstr=postRes.Headers.Get("Set-Cookie");//Cookiesstr="wys_userid=root,wys_passwd=9F7B92E4E87A2A9B8F976A4042DEA70D;path=/";intiIndex=Cookiesstr.IndexOf(";");Cookiesstr=Cookiesstr.Substring(0,iIndex);stringstrContent=postReader.ReadToEnd();//关闭响应postRes.Close();postReader.Close();//fireBug获取断开WAN口连接GET请求的Urlaction后为具体WAN口以及执行的动作StringdisUrl=String.Format("http://192.168.1.1/wan_connect.asp?action_iface={0}&act={1}",wanIndex,action);//创建GET请求HttpWebRequestgetReq=(HttpWebRequest)WebRequest.Create(disUrl);//配置GET请求HEADERgetReq.Method="GET";//设置GET请求的cookie根据fireBug直接获取//stringstrCookie="Cookie:wys_userid=root,wys_passwd=9F7B92E4E87A2A9B8F976A4042DEA70D";getReq.Headers.Add("Cookie:"+Cookiesstr);HttpWebResponsegetRes=(HttpWebResponse)getReq.GetResponse();StreamReadergetReader=newStreamReader(getRes.GetResponseStream(),Encoding.UTF8);stringstrResult=getReader.ReadToEnd();//{ret:0,msg:'ok'}returnif(strResult.Equals("{ret:0,msg:'ok'}")){MessageBox.Show("OK");}else{MessageBox.Show("操作失败");}getReader.Close();getRes.Close();}catch(Exceptionerror){MessageBox.Show(error.Message);}}

做一个路由器登录,然后控制相关WAN口的断开与连接,我第一次POST请求得到的响应和fireBug抓到的是一样的,第二次用GET请求的时候cookie是手动拼上去的,之前把第一次POST响应里面的cookie作为第二次GET的cookie一直失败,有没有做过类似的指导一下cookie的使用

解决方案

时间: 2024-08-04 08:31:38

C#做post请求遇到cookie相关问题的相关文章

!!!httpwebrequest如何获取当前请求的cookie(在线等)

问题描述 httpwebrequest如何获取当前请求的cookie,本机上存在baidu的cookie,但是HttpWebRequestrequestAgent=(HttpWebRequest)WebRequest.Create("http://www.baidu.com/");这个时候requestAgent.cookieContainer为什么为NULL???在线等..,,, 解决方案 解决方案二:结贴100%.......为啥木有人呢????解决方案三:HttpWebReque

unity 乱码-unity www 做http请求 中文乱码

问题描述 unity www 做http请求 中文乱码 unity 用www做的http请求类 开发环境里正常 当打成apk包后 中文乱码

servlet-js中使用ajax函数做同步请求Servlet连接数据库进行验证

问题描述 js中使用ajax函数做同步请求Servlet连接数据库进行验证 这是一个js表单验证,验证email的部分,我想达到的目的是在输入email信息结束后进行验证,前两个条件直接自身进行验证,效果已经实现了,后面的那个我想用ajax的效果进行同步验证,防止email重复,但是效果一直出不来,不知道是否是ajax函数参数设置有问题什么的,或者eclipse出bug什么的,请问有人帮忙看一下的么? email输入部分代码: Email: id="email" class="

求解一下-求解用php做一个web service的相关程序??不知道哪里出问题了?谢谢!!!

问题描述 求解用php做一个web service的相关程序??不知道哪里出问题了?谢谢!!! <?php class soap { private $tel; private $num; public function Book($tel,$num) { file_put_contents("d:/mylog.log",$tel,FILE_APPEND); $this->tel=$tel; $this->num=$num;//???? $conn=mysql_con

如何验证ajax请求的cookie有效性?

浏览器中后台发起的一个异步ajax请求,服务器做响应时,附带了cookie信息,那么后续对同域名下其他页面请求时,该cookie是否有效,会一并随请求提交到web服务器呢? 自己是对web相关的标准不熟,只知道在普通前台请求时这种cookie会有效,对ajax请求的情况就暂时不确定.但想知道该问题的答案究竟是什么,去翻阅相关的标准是远水救近火.本着It's easier to check than to guess的原则,决定先写段程序来验证这个问题.相关代码如下 发起ajax请求的html页面

高性能WEB开发 为什么要减少请求数,如何减少请求数!_相关技巧

http请求头的数据量 我们先分析下请求头,看看每次请求都带了那些额外的数据.下面是监控的google的请求头 Host www.google.com.hk User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTBDFff GTB7.0 Accept text/html,application/xhtml+xml,application/xml;q

基于h5的history改善ajax列表请求体验_AJAX相关

信息比较丰富的网站通常会以分页显示,在点"下一页"时,很多网站都采用了动态请求的方式,避免页面刷新.虽然大家都是ajax,但是从一些小的细节还是 可以区分优劣.一个小的细节是能否支持浏览器"后退"和"前进"键.本文讨论两种方法,让浏览器可以后退和前进,或者说让ajax就像重定向到新页面一样 拥有能够返回到上一页或者前进到下一页.       数据实现分页显示,最简单的做法是在网址后面加多个page的当数,点"下一页"时,让网页

Swift: 用Alamofire做http请求,用ObjectMapper解析JSON

跟不上时代的人突然间走在了时代的前列,果然有别样的风景.首先鄙视一下AFNetworking.这个东西实在太难用了.不想封装都不行,要不写一大堆代码. 1 2 3 4 5 6 7 8 9 10 11 NSURL *URL = [NSURL URLWithString:@"http://example.com/resources/123.json"]; AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; [man

浅谈ajax请求技术_AJAX相关

1.写在前面: 阅读要求: 具有一定的HTML.CSS.JavaScript.Json基础 2.什么是ajax Ajax:即"Asynchronous Javascript And XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. 3.为什么使用ajax 在动态网页开发技术中,客户端(通常是浏览器)与服务端进行数据交互是十分频繁的,如何节省网络资源,提供良好的用户体验是十分关键的.Ajax采用异步请求方式,使得不用刷新整个页面就可以和后台实现数据