zoukankan      html  css  js  c++  java
  • 阿里妈妈自动登录程序

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    using System.Net;
    using System.IO;
    using System.Text;
    using System.Xml;
    using System.IO.Compression;
    
    namespace MvcApplication1.Controllers
    {
        public class IndexController : Controller
        {
            //
            // GET: /Default1/
    
            public ContentResult Index()
            {
                
                return Content(getXMLDocumentFromXMLTemplate("http://www.alimama.com/index.htm"));
            }
    
            public string getXMLDocumentFromXMLTemplate(string inURL)
            {
                HttpWebRequest myHttpWebRequest = null;     
                HttpWebResponse myHttpWebResponse = null;
    
                //第一次请求信息的获取
                myHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create(inURL);
                myHttpWebRequest.Method = "GET";
                //设置请求头信息
                SetGetHeaders(myHttpWebRequest);
                //Get Response
                myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
    
                //取出第一次cookies信息,建立引用
                CookieCollection first = myHttpWebResponse.Cookies;
    
    
                //第二次请求开始
                myHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create("https://www.alimama.com/member/minilogin_act.htm");
                myHttpWebRequest.Method = "POST";
                myHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
                //设置请求头信息
                SetGetHeaders(myHttpWebRequest);
                myHttpWebRequest.CookieContainer.Add(first);
                myHttpWebRequest.Referer = "http://www.alimama.com/membersvc/member/login.htm";
                //302 不做跳转
                myHttpWebRequest.AllowAutoRedirect = false;
    
                string Post = "_tb_token_=" + first["_tb_token_"].Value + "&style=&redirect=&proxy=http%3A%2F%2Fwww.alimama.com%2Fproxy.htm&logname=<*****>%40qq.com&originalLogpasswd=<*****>&logpasswd=c781f1ee5ab17dff12ff6019325688f2";
    
                byte[] bs = Encoding.ASCII.GetBytes(Post);
    
                myHttpWebRequest.ContentLength = bs.Length;
               using (Stream reqStream = myHttpWebRequest.GetRequestStream())
               {
                   reqStream.Write(bs, 0, bs.Length);
                   reqStream.Close();
               }
                myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
    
                //取出第二次cookies信息,建立引用(无临时重定向)
                CookieCollection second = myHttpWebResponse.Cookies;
    
                //模拟浏览器重定向 
    
                myHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create("https://www.alimama.com/member/minilogin_success.htm");
                myHttpWebRequest.Method = "GET";
                //设置请求头信息
                SetGetHeaders(myHttpWebRequest);
                myHttpWebRequest.CookieContainer.Add(second);
                //Get Response
                myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
    
                second["rurl"].Value = "";
    
                second["v"].Value = "0";
    
                //请求列表页面,第四次请求
                myHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create("http://ad.alimama.com/account/incomeDetail.htm");
                myHttpWebRequest.Method = "GET";
                //设置请求头信息
                SetGetHeaders(myHttpWebRequest);
    
                myHttpWebRequest.CookieContainer.Add(second);
                myHttpWebRequest.CookieContainer.Add(first["t"]);
                myHttpWebRequest.CookieContainer.Add(first["cookie2"]);
                //Get Response
                myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
    
                StreamReader readers = new StreamReader(myHttpWebResponse.GetResponseStream(), Encoding.UTF8);
                string text = readers.ReadToEnd();
    
                readers.Close();
                readers.Dispose();
                return text;
            }
            public void SetGetHeaders(HttpWebRequest request)
            {
                request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
                //request.Headers.Add("Accept-Encoding", "gzip, deflate");
                request.Headers.Add("Accept-Language", "zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3");
                request.Host = "www.alimama.com";
                request.KeepAlive = true;
                request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0";
                request.CookieContainer = new CookieContainer();
            }
        }
    }
  • 相关阅读:
    缺陷管理、分类、提交
    selenium2.0处理case实例(二)
    Robot Framework自动化测试(六)--- robotremoteserver使用
    Robot Framework自动化测试(五)--- 开发系统关键字
    Robot Framework自动化测试(四)--- 分层思想
    Robot Framework自动化测试(三)---Selenium API
    Robot Framework自动化测试(二)---元素定位
    Robot Framework自动化测试(一)---第一个脚本
    python+requests+excel+unittest+ddt接口自动化数据驱动并生成html报告
    Python 基于http接口自动化测试
  • 原文地址:https://www.cnblogs.com/Arrays/p/3236346.html
Copyright © 2011-2022 走看看