zoukankan      html  css  js  c++  java
  • C# HttpWebRequest 添加Cookie验证

    public static void Post3()
    {
    CookieContainer cookies = new CookieContainer();

    string RequestPara = "account=win&password=123";
    RequestPara = Regex.Replace(RequestPara, "%", "%25");
    byte[] buf = System.Text.Encoding.GetEncoding("utf-8").GetBytes(RequestPara);

    string url = "http:";
    HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);
    myHttpWebRequest.Method = "POST";
    myHttpWebRequest.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
    myHttpWebRequest.ContentLength = buf.Length;
    myHttpWebRequest.Timeout = 20 * 1000; //连接超时
    myHttpWebRequest.Accept = "*/*";
    myHttpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0;)";
    myHttpWebRequest.CookieContainer = new CookieContainer(); //暂存到新实例

    System.IO.Stream RequestStream = myHttpWebRequest.GetRequestStream();
    RequestStream.Write(buf, 0, buf.Length);
    RequestStream.Close();

    HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
    cookies = myHttpWebRequest.CookieContainer; //保存cookies
    string cookiesstr = myHttpWebRequest.CookieContainer.GetCookieHeader(myHttpWebRequest.RequestUri); //把cookies转换成字符串

    Console.WriteLine(cookiesstr);

    //string data = "patient_name=测试"

    // + "&patient_gender="
    // + "&patient_sensibiligen="
    // + "&patient_address="
    // + "&patient_phone="
    // + "&idcard="
    // + "&doctor_rxnote_js="
    // + "&ans_id=" + ApplicationCOM.Uid
    // + "&patient_note="
    // + "&ds_sign_id=";
    //data = Regex.Replace(data, "%", "%25");
    //buf = System.Text.Encoding.GetEncoding("utf-8").GetBytes(data);

    url = "http:";
    myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);
    //myHttpWebRequest.Method = "POST";

    myHttpWebRequest.Method = "GET";

    myHttpWebRequest.ContentLength = buf.Length;
    myHttpWebRequest.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
    myHttpWebRequest.Timeout = 20 * 1000; //连接超时
    myHttpWebRequest.Accept = "*/*";
    myHttpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0;)";
    myHttpWebRequest.Headers.Add("Cookie", cookiesstr);

    //RequestStream = myHttpWebRequest.GetRequestStream();
    //RequestStream.Write(buf, 0, buf.Length);
    //RequestStream.Close();

    myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();


    Stream stream = myHttpWebResponse.GetResponseStream();
    stream.ReadTimeout = 15 * 1000; //读取超时
    StreamReader sr = new StreamReader(stream, Encoding.GetEncoding("utf-8"));
    string strWebData = sr.ReadToEnd();
    Console.WriteLine(strWebData);
    }

    /// <summary>
    /// WebHTTP工具类
    /// </summary>

    public class WebHTTPUtil
    {
    private static string cookiesstr;
    /// <summary>
    /// 登陆
    /// </summary>
    /// <param name="account"></param>
    /// <param name="password"></param>
    public static void SignIn(string account, string password)
    {
    CookieContainer cookies = new CookieContainer();

    string RequestPara = "account=" + account + "&password=" + password;
    RequestPara = Regex.Replace(RequestPara, "%", "%25");
    byte[] buf = System.Text.Encoding.GetEncoding("utf-8").GetBytes(RequestPara);

    string url = "http";
    HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);
    myHttpWebRequest.Method = "POST";
    myHttpWebRequest.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
    myHttpWebRequest.ContentLength = buf.Length;
    myHttpWebRequest.Timeout = 20 * 1000; //连接超时
    myHttpWebRequest.Accept = "*/*";
    myHttpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0;)";
    myHttpWebRequest.CookieContainer = new CookieContainer(); //暂存到新实例

    System.IO.Stream RequestStream = myHttpWebRequest.GetRequestStream();
    RequestStream.Write(buf, 0, buf.Length);
    RequestStream.Close();

    HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
    cookies = myHttpWebRequest.CookieContainer; //保存cookies
    cookiesstr = myHttpWebRequest.CookieContainer.GetCookieHeader(myHttpWebRequest.RequestUri); //把cookies转换成字符串

    }
    public static string POST(string url, string data)
    {
    data = Regex.Replace(data, "%", "%25");
    byte[] buf = System.Text.Encoding.GetEncoding("utf-8").GetBytes(data);

    HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);
    myHttpWebRequest.Method = "POST";
    myHttpWebRequest.ContentLength = buf.Length;
    myHttpWebRequest.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
    myHttpWebRequest.Timeout = 20 * 1000; //连接超时
    myHttpWebRequest.Accept = "*/*";
    myHttpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0;)";
    myHttpWebRequest.Headers.Add("Cookie", cookiesstr);

    System.IO.Stream RequestStream = myHttpWebRequest.GetRequestStream();
    RequestStream.Write(buf, 0, buf.Length);
    RequestStream.Close();

    HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
    Stream stream = myHttpWebResponse.GetResponseStream();
    stream.ReadTimeout = 15 * 1000; //读取超时
    StreamReader sr = new StreamReader(stream, Encoding.GetEncoding("utf-8"));
    string strWebData = sr.ReadToEnd();

    return strWebData;
    }
    public static string GET(string url)
    {
    HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);
    myHttpWebRequest.Method = "GET";
    myHttpWebRequest.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
    myHttpWebRequest.Timeout = 20 * 1000; //连接超时
    myHttpWebRequest.Accept = "*/*";
    myHttpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0;)";
    myHttpWebRequest.Headers.Add("Cookie", cookiesstr);

    HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
    Stream stream = myHttpWebResponse.GetResponseStream();
    stream.ReadTimeout = 15 * 1000; //读取超时
    StreamReader sr = new StreamReader(stream, Encoding.GetEncoding("utf-8"));
    string strWebData = sr.ReadToEnd();
    return strWebData;
    }

    }

  • 相关阅读:
    登录保存用户信息
    GRIDVIEW单击事件
    GRIDVIEW单击双击事件
    gridview打印
    水晶报表
    CRYSTAL net样式
    Web Server 在IIS上部署ASP.NET Core项目
    MVC MVC+EF快速搭建
    MVC MVC常见错误及解决办法
    Open Interface Service WCF三种通信模式
  • 原文地址:https://www.cnblogs.com/-jingzhe/p/13747894.html
Copyright © 2011-2022 走看看