[一篮饭特稀原创,转载请注明出自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. 四、VMware Tools 安装 与 问题

    解决VMware Tools无法安装的问题 虚拟机上装win2kgho版的系统,安装VMware Tools时,遇到“VMware Tools installation cannot be start ...

  2. java中的匿名内部类总结(转)

    源出处: java中的匿名内部类总结 匿名内部类也就是没有名字的内部类 正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写 但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接 ...

  3. 单元测试篇----cppUnit的安装与使用

    在刚学习单元测试章节的时候,尝试着使用dev—c++来编译cppunit,但一直没成功,也尝试问过同学,一直没有很好的方法,因此浪费了不少时间.今天又耐心的尝式一下,意外成功了.以下是详细的安装步骤: ...

  4. SpringMVC处理脚本,SQL注入问题

    SpringMVC处理脚本,SQL注入问题(写的不好勿喷,互相学习) 使用 Filter 来过滤浏览器发出的请求,对每个URI参数请求过滤些关键字,替换成安全的字符.所有请求的 getParamete ...

  5. ReactJS入门

    React介绍 React是facebook开发基于组件驱动开发(CDD ) 的UI类库,相对于双向绑定的类库,如AngularJS,它采用单向数据流绑定.通过采用虚拟DOM的概念,是的他在性能和处理 ...

  6. RobotFramework-调用.py文件

    RobotFramework-调用.py文件,直接运行: 注意:文件路径的\全部换成好了/

  7. pm2 开机自动运行

    pm2 start app.js -i max -name 可以运行的用户 env PATH=$PATH:/usr/bin pm2 startup -u 可以运行的用户 ubuntu/centos

  8. c++ ip地址相关

    #include <stdio.h> #include <string.h> #include <arpa/inet.h> #include <sys/typ ...

  9. 链路层三种类型的MAC地址

    若需要转载,请注明出处. 我们知道,链路层都是以MAC地址来进行通信双方的地址标识的,如下图:在应用中根据接收方的多寡来进行划分,可分为以下三种: 单播(Unicast) 多播(Multicast) ...

  10. 02.JSP的3个编译指令

    本章介绍JSP的3个编译指令,在JSP中常见的编译指令有如下3个:         1.page:用于针对当前页面的指令.         2.include:用于指定包含另一个页面.         ...