[一篮饭特稀原创,转载请注明出自http://www.cnblogs.com/wanghafan/p/3284481.html]

PostLogin :登录,并保存Cookie

 1  public static string PostLogin(string postData, string requestUrlString, ref CookieContainer cookie)
2 {
3 ASCIIEncoding encoding = new ASCIIEncoding();
4 byte[] data = encoding.GetBytes(postData);
5 //向服务端请求
6 HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(requestUrlString);
7 myRequest.Method = "POST";
8 myRequest.ContentType = "application/x-www-form-urlencoded";
9 myRequest.ContentLength = data.Length;
10 myRequest.CookieContainer = new CookieContainer();
11 Stream newStream = myRequest.GetRequestStream();
12 newStream.Write(data, 0, data.Length);
13 newStream.Close();
14 //将请求的结果发送给客户端(界面、应用)
15 HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
16 cookie.Add(myResponse.Cookies);
17 StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
18 return reader.ReadToEnd();
19 }

PostRequest :登录后使用Cookie进行其他操作

 1  public static string PostRequest(string postData, string requestUrlString, CookieContainer cookie)
2 {
3 ASCIIEncoding encoding = new ASCIIEncoding();
4 byte[] data = encoding.GetBytes(postData);
5 HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(requestUrlString);
6 myRequest.Method = "POST";
7 myRequest.ContentType = "application/x-www-form-urlencoded";
8 myRequest.ContentLength = data.Length;
9 myRequest.CookieContainer = cookie;
10 Stream newStream = myRequest.GetRequestStream();
11 newStream.Write(data, 0, data.Length);
12 newStream.Close();
13 HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
14 StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
15 return reader.ReadToEnd();
16 }

e.g.

1             string strIMSPhone = tb_IMSPhone.Text.Trim();
2 string strIMSPwd = tb_IMSPwd.Text.Trim();
3 string postData = "username=" + strIMSPhone + "&password=" + strIMSPwd + "&type=2";
4 CookieContainer cookie=new CookieContainer();
5 if (IMSHelper.PostLogin(postData, post_signIn, ref cookie).Equals("ok"))
6 {
7 string strCont = PostRequest("", post_getContJsonData, cookie);
8 }

HttpWebRequest模拟登陆,存储Cookie以便登录请求后使用的更多相关文章

  1. C#如何HttpWebRequest模拟登陆,获取服务端返回Cookie以便登录请求后使用

    public static string GetCookie(string requestUrlString, Encoding encoding, ref CookieContainer cooki ...

  2. c# 使用 HttpWebRequest模拟登陆

    c# 使用 HttpWebRequest模拟登陆(附带验证码) 分类: C# .net2010-06-04 00:50 35647人阅读 评论(43) 收藏 举报 c#exceptionstreams ...

  3. c# 使用 HttpWebRequest模拟登陆(附带验证码)

    在C#中,可以使用HttpWebRequest进行相关的模拟登陆,登陆后进行相关的操作,比如抓取数据,页面分析,制作相关登陆助手等等. 先说下流程 1.使用httpwebrequest先进入你要登录的 ...

  4. 使用C#的HttpWebRequest模拟登陆访问人人网

    使用任何语言做模拟登陆或者抓取访问页面,无外乎以下思路: 第一 启用一个web访问会话方法或者实例化一个web访问类,如.net中的HttpWebRequest:第二 模拟POST或者GET方式提交的 ...

  5. 使用C#的HttpWebRequest模拟登陆访问人人网(转)

    无论使用任何语言做模拟登陆或者抓取访问页面,无外乎以下思路:第一 启用一个web访问会话方法或者实例化一个web访问类,如.net中的HttpWebRequest:第二 模拟POST或者GET方式提交 ...

  6. 使用HttpWebRequest模拟登陆阿里巴巴(alibaba、httpwebrequest、login)

    前言 其实老喜欢取经,偶尔也得分享下.关于阿里巴巴国际站的登陆,过程有点复杂但是算不上难.一不小心少个东西倒也挺麻烦的. 主要是看下请求类HttpClient基本请求封装使用,AliClient模拟浏 ...

  7. 转:使用C#的HttpWebRequest模拟登陆网站

    这篇文章是有关模拟登录网站方面的. 实现步骤: 启用一个web会话 发送模拟数据请求(POST或者GET) 获取会话的CooKie 并根据该CooKie继续访问登录后的页面,获取后续访问的页面数据. ...

  8. 使用C#的HttpWebRequest模拟登陆网站

    很久没有写新的东西了,今天在工作中遇到的一个问题,感觉很有用,有种想记下来的冲动. 这篇文章是有关模拟登录网站方面的. 实现步骤: 启用一个web会话 发送模拟数据请求(POST或者GET) 获取会话 ...

  9. python利用selenium(webdriver chrome)模拟登陆获取cookie

    (我是在windows下进行实验的) 准备工作: 1.安装python环境. 2.python安装selenium插件(执行以下命令就行).   pip install selenium 3.Wind ...

随机推荐

  1. 27.some company's Spi Flash chip replace altera epcsxxx

    由于altera公司的epcsxxx芯片比较贵,所以一般用其它公司的spi flash芯片代替也可以.据AlteraFAE描述:“EPCS器件也是选用某家公司的SPIFlash,只是中间经过Alter ...

  2. java判断某个字符串包含某个字符串的个数

    /** * 判断str1中包含str2的个数 * @param str1 * @param str2 * @return counter */ public static int countStr(S ...

  3. P1951: [Sdoi2010]古代猪文

    呜啊啊啊啊,选错了题,原以为很简单的优化+剪枝就能过结果牵扯到了一堆数论知识.我的错,贴上我的代码(已经尽量优化了) ; var n,g,i,j,ans:longint; tem:int64; fun ...

  4. Haskell 趣学指南 入门笔记(二)

    显示类型声明,Haskell是不用定义类型的原因,很像python 想要确定某个表达式的类型 *Main> :t 'a' 'a' :: Char *Main> :t True True : ...

  5. Android -- View

    setContentView                                                                        只要你使用过Activity ...

  6. 寻找idea...

    域名:tianhuangdilao.com 天荒地老 现在闲置,寻求好的idea...

  7. 用R语言对NIPS会议文档进行聚类分析

    一.用R语言建立文档矩阵 (这里我选用的是R x64 3.2.2) (这里我取的是04年NIPS共计207篇文档做分析,其中文档内容已将开头的作者名和最后的参考文献进行过滤处理) ##1.Data I ...

  8. hadoop之JobTracker功能分析

    JobTracker是整个MapReduce计算框架中的主服务,相当于集群的“管理者”,负责整个集群的作业控制和资源管理.本文对JobTracker的启动过程及心跳接收与应答两个主要功能进行分析. 1 ...

  9. JQuery常用实用的事件[较容易忽略的方法]

     JQuery常用实用的事件 注:由于JQuery片段较多就没有用插入代码文本插入,请见谅!JQuery 事件处理ready(fn)代码: $(document).ready(function(){ ...

  10. Grails 对象关联映射 (GORM) 一

    转自:http://justjavac.iteye.com/blog/701445 Domain 类是任何商业应用的核心. 他们保存事务处理的状态,也处理预期的行为. 他们通过关联联系在一起, one ...