• 【转】C# WebRequest发起Http Post请求模拟登陆并cookie处理示例


    【转自: 小美的部落格

    嗯,直接看代码:

    CookieContainer cc=new CookieContainer();
    string url = “http://mailbeta.263.net/xmweb”;
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
    request.Method = “POST”;
    request.ContentType = “application/x-www-form-urlencoded”;
    request.CookieContainer=cc;
    string user=”user”; //用户名
    string pass=”pass”; //密码
    string data = “func=login&usr=” + HttpUtility.UrlEncode(user) +“&sel_domain=263.net&domain=263.net&pass=” +HttpUtility.UrlEncode(pass) +“&image2.x=0&image2.y=0&verifypcookie=&verifypip=”;
    request.ContentLength = data.Length;
    StreamWriter writer = new StreamWriter(request.GetRequestStream(),Encoding.ASCII);
    writer.Write(data);
    writer.Flush();
    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    string encoding = response.ContentEncoding;
    if (encoding == null || encoding.Length < 1) {
        encoding = "UTF-8"; //默认编码
    }
    StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));
    data = reader.ReadToEnd();
    Console.WriteLine(data);
    response.Close();

    int index=data.IndexOf("sid=");
    string sid=data.Substring(index+4,data.IndexOf("&",index)-index-4);
    Console.WriteLine(sid);

    url ="http://wm11.263.net/xmweb?func=mlst&act=show&usr="+user+"&sid="+sid+"&fid=1&desc=1&pg=1&searchword=&searchtype=&searchsub=&searchfd=&sort=4";
    request = (HttpWebRequest)WebRequest.Create(url);
    request.CookieContainer = cc;
    foreach(Cookie cookie in response.Cookies) {
        cc.Add(cookie);
    }
    response = (HttpWebResponse)request.GetResponse();
    encoding = response.ContentEncoding;
    if (encoding == null || encoding.Length < 1) {
        encoding = "UTF-8"; //默认编码
    }
    reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));
    data = reader.ReadToEnd();
    Console.WriteLine(data);
    response.Close();

    这段代码的意思是,模拟登陆263邮箱,别列出收件箱内容(html代码)

  • 相关阅读:
    Common ThreadView
    经典代码IOCP的C#实现(转)
    Common.UdpLib
    Common.TcpLibTcpServerWIOCP
    Common.TcpLibTcpServerY
    sql中将分隔字符串转为临时表的方法
    病毒及流氓软件自我复制的简单实现
    一句sql搞定个人所得税计算
    财务月度的创建及生成
    box2d 教程
  • 原文地址:https://www.cnblogs.com/5tao/p/1646279.html
Copyright © 2020-2023  润新知