亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#模擬Http與Https請求框架類實例

2020-01-24 02:12:58
字體:
來源:轉載
供稿:網友

本文實例講述了C#模擬Http與Https請求框架類。分享給大家供大家參考。

具體實現方法如下:

復制代碼 代碼如下:

using System.Text;
using System.Net;
using System.IO;
using System.Text.RegularExpressions;
using System.Security.Cryptography.X509Certificates;
using System.Net.Security;

namespace WebRequestTest
{
    /// <summary>
    /// 動態類,每個實例使用單獨session
    /// </summary>
    public class HttpHelperNew
    {
       public CookieContainer cookie = new CookieContainer();
        /// <summary>
        /// post請求返回html
        /// </summary>
        /// <param name="Url"></param>
        /// <param name="postDataStr"></param>
        /// <returns></returns>
        public string HttpPost(string Url, string postDataStr)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
            //request.AllowAutoRedirect = false; //禁止自動重定向
            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";
            request.ContentLength = Encoding.UTF8.GetByteCount(postDataStr);
            request.CookieContainer = cookie; //cookie信息由CookieContainer自行維護
            Stream myRequestStream = request.GetRequestStream();
            StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding("gb2312"));
            myStreamWriter.Write(postDataStr);
            myStreamWriter.Close();

            HttpWebResponse response = null;
            try
            {
                this.SetCertificatePolicy();
                response = (HttpWebResponse)request.GetResponse();
            }
            catch (System.Exception ex)
            {
            }
            //獲取重定向地址
            //string url1 = response.Headers["Location"];
            if (response !=null)
            {
                Stream myResponseStream = response.GetResponseStream();
                StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
                string retString = myStreamReader.ReadToEnd();
                myStreamReader.Close();
                myResponseStream.Close();
                return retString;
            }
            else
            {
                return "error"; //post請求返回為空
            }
        }

        /// <summary>
        /// get請求獲取返回的html
        /// </summary>
        /// <param name="Url"></param>
        /// <param name="postDataStr"></param>
        /// <returns></returns>
        public string HttpGet(string Url, string Querydata)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + (Querydata == "" ? "" : "?") + Querydata);
            request.Method = "GET";
            request.ContentType = "text/html;charset=UTF-8";
            request.CookieContainer = cookie;
            this.SetCertificatePolicy();
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
           // response.Cookies = cookie.GetCookies(response.ResponseUri);
            Stream myResponseStream = response.GetResponseStream();
            StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
            string retString = myStreamReader.ReadToEnd();
            myStreamReader.Close();
            myResponseStream.Close();
            return retString;
        }

        /// <summary>
        /// 獲得響應中的圖像
        /// </summary>
        /// <param name="url"></param>
        /// <returns></returns>
        public Stream GetResponseImage(string url)
        {
            Stream resst = null;
            try
            {
                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
                req.KeepAlive = true;
                req.Method = "GET";
                req.AllowAutoRedirect = true;
                req.CookieContainer = cookie;
                req.ContentType = "application/x-www-form-urlencoded";
                req.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
                req.Timeout = 50000;

                Encoding myEncoding = Encoding.GetEncoding("UTF-8");
                this.SetCertificatePolicy();
                HttpWebResponse res = (HttpWebResponse)req.GetResponse();
                resst = res.GetResponseStream();

                return resst;
            }
            catch
            {
                return null;
            }
        }

        /// <summary>
        /// 正則獲取匹配的第一個值
        /// </summary>
        /// <param name="html"></param>
        /// <param name="pattern"></param>
        /// <returns></returns>
        public string getStringByRegex(string html,string pattern)
        {

            Regex re = new Regex(pattern, RegexOptions.IgnoreCase);
            MatchCollection matchs = re.Matches(html);
            if (matchs.Count > 0)
            {
                return matchs[0].Groups[1].Value;
            }
            else
                return "";
        }

        /// <summary>
        /// 正則驗證返回的response是否正確
        /// </summary>
        /// <param name="html"></param>
        /// <param name="pattern"></param>
        /// <returns></returns>
        public bool verifyResponseHtml(string html ,string pattern)
        {
            Regex re = new Regex(pattern);
            return re.IsMatch(html);
        }

        //注冊證書驗證回調事件,在請求之前注冊
        private void SetCertificatePolicy()
        {
            ServicePointManager.ServerCertificateValidationCallback
                       += RemoteCertificateValidate;
        }
        /// <summary> 
        /// 遠程證書驗證,固定返回true
        /// </summary> 
        private static bool RemoteCertificateValidate(object sender, X509Certificate cert,
            X509Chain chain, SslPolicyErrors error)
        {
            return true;
        } 
    }
}

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲丝袜一区在线| 午夜精品久久久久久99热| 国产精品三级美女白浆呻吟| 欧美日韩另类字幕中文| 亚洲国产成人久久| 欧美亚洲成人精品| 欧美激情第三页| 91久久久久久久| 久久精品亚洲国产| 欧美一级高清免费| 国外视频精品毛片| 亚洲美女又黄又爽在线观看| 欧洲成人性视频| 国产精品丝袜高跟| 日韩精品视频在线| 91精品国产色综合久久不卡98口| 岛国av一区二区在线在线观看| 国产精品美女视频网站| 国内精品久久影院| 欧美在线精品免播放器视频| 欧美亚洲午夜视频在线观看| 亚洲国产精品久久久久| 日韩欧美在线视频日韩欧美在线视频| 国产亚洲精品一区二区| 欧美黑人巨大xxx极品| 在线观看国产精品淫| 国产成人亚洲综合91精品| 亚洲视频在线观看免费| 不卡av日日日| 久久男人资源视频| 国产精品久久久久久影视| 久久天天躁夜夜躁狠狠躁2022| 国产精品99久久久久久久久| 欧美高清不卡在线| 亚洲自拍av在线| 国产精品揄拍500视频| 中文字幕亚洲欧美日韩高清| 国产成人在线播放| 在线观看亚洲视频| 国产精品久久久久久亚洲影视| 欧美午夜xxx| 欧美日韩在线观看视频小说| 91av视频在线免费观看| 久久国产精品久久国产精品| 韩国精品美女www爽爽爽视频| 欧美洲成人男女午夜视频| 国产精品视频免费在线观看| 久久99青青精品免费观看| 欧美成人国产va精品日本一级| 在线观看亚洲区| 亲爱的老师9免费观看全集电视剧| 久热在线中文字幕色999舞| 日韩精品在线观看视频| 91爱爱小视频k| 中文字幕亚洲一区二区三区| 中文综合在线观看| 精品久久久久久久久国产字幕| 日韩av中文在线| 亚洲国产成人久久综合| 国产拍精品一二三| 国产日韩在线看| 日韩中文在线中文网三级| 日韩小视频在线观看| 中文字幕日韩专区| 国产日韩精品入口| 日韩精品极品在线观看| 久久久www成人免费精品张筱雨| 色综合久久久久久中文网| 亚洲第一视频在线观看| 亚洲伊人成综合成人网| 欧美性一区二区三区| 91禁国产网站| 亚洲精品大尺度| 国模精品系列视频| 欧美一级片一区| 欧美日韩精品在线| 国产精品久久久久77777| 伦伦影院午夜日韩欧美限制| 中文字幕在线看视频国产欧美在线看完整| 97热在线精品视频在线观看| 欧美黑人巨大精品一区二区| 伊人成人开心激情综合网| 国产精品电影网站| 国产91精品视频在线观看| 欧美精品成人91久久久久久久| 亚洲美女视频网站| 国产脚交av在线一区二区| 欧美不卡视频一区发布| 日韩av片电影专区| 欧美成人精品在线| 久久久999国产精品| 久久精品中文字幕免费mv| 国产精品美女av| 91精品国产高清自在线看超| 亚洲国产精品系列| 成人国产在线激情| 欧美亚洲国产日本| 亚洲性视频网站| 亚洲欧美国产精品va在线观看| 久久久人成影片一区二区三区| 久久成人亚洲精品| 全色精品综合影院| 欧美黄色片在线观看| 成人羞羞国产免费| 91精品国产电影| 亚洲一区二区久久久久久久| 亚洲香蕉伊综合在人在线视看| 久久九九免费视频| 亚洲人永久免费| 2019中文字幕在线| 国产精品电影观看| 国产精品日韩在线播放| 亚洲欧美国产另类| 欧美精品videossex88| 久久99久久久久久久噜噜| 中文字幕综合一区| 亚洲第一精品久久忘忧草社区| 久久香蕉国产线看观看av| 日本高清视频精品| 国产丝袜一区二区三区免费视频| 日韩欧美在线国产| 国产suv精品一区二区三区88区| 欧美日韩国产一区中文午夜| 亚洲第一区第一页| 丰满岳妇乱一区二区三区| 国产亚洲精品va在线观看| 亚洲精品不卡在线| 欧美国产视频日韩| 日韩欧美第一页| 91久久在线观看| 日本久久久久久久久| 国产精品久久久久91| 亚洲一级黄色片| 亚洲女人天堂网| 亚洲电影在线观看| 久久久免费在线观看| 91精品久久久久久久久中文字幕| 日韩精品极品在线观看播放免费视频| 色婷婷av一区二区三区久久| 国产成人精品日本亚洲| 欧美日本啪啪无遮挡网站| 91精品国产高清久久久久久久久| 国产精品自拍偷拍| 国产精品久久久久久久久久东京| 91精品国产自产在线观看永久| 一本色道久久综合狠狠躁篇的优点| 成人久久久久久| 亚洲美女www午夜| 日韩精品久久久久久久玫瑰园| 欧美亚洲日本网站| 欧美激情视频免费观看| 国产精品美女久久久久久免费| 国产精品美乳在线观看| 日韩成人中文电影| 最近2019中文字幕一页二页| 亚洲第一男人天堂| 国产精品福利在线观看网址| 欧美国产精品人人做人人爱| 久久久久久久一区二区三区| 欧美做受高潮电影o| 亚洲女同性videos| 91免费电影网站| 欧美大片在线看免费观看| 91久久精品国产91性色|