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

首頁 > 學院 > 開發設計 > 正文

ahjesus HttpQuery

2019-11-17 01:56:10
字體:
來源:轉載
供稿:網友

ahjesus HttpQuery

  1     /// <summary>    2     /// 有關HTTP請求的輔助類    3     /// </summary>    4     public class HttpQuery  5     {  6         PRivate static readonly string DefaultUserAgent =  7             "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";  8   9         public static void Get(string url, object data, Action<string> callback) 10         { 11             IDictionary<string, string> parameters = Getparameters(data); 12  13             if (!(parameters == null || parameters.Count == 0)) 14             { 15                 url += "?"; 16                 foreach (var item in parameters) 17                 { 18                     url += item.Key + "=" + item.Value + "&"; 19                 } 20             } 21             CreateGetHttpResponse(url, null, null, null, callback); 22         } 23  24         public static void Post(string url, object data, Action<string> callback) 25         { 26             IDictionary<string, string> parameters = Getparameters(data); 27  28             CreatePostHttpResponse(url, parameters, null, null, Encoding.UTF8, null, callback); 29         } 30  31         public static void Post(string url, string data, Action<string> callback) 32         { 33             CreatePostHttpResponse(url, data, null, null, Encoding.UTF8, null, callback); 34         } 35  36         private static IDictionary<string, string> Getparameters(object data) 37         { 38             if (data == null) 39             { 40                 return new Dictionary<string, string>(); 41             } 42             IDictionary<string, string> parameters = new Dictionary<string, string>(); 43  44             Type type = data.GetType(); 45             PropertyInfo[] props = type.GetProperties(BindingFlags.Public | BindingFlags.Instance); 46             foreach (PropertyInfo p in props) 47             { 48                 parameters.Add(p.Name, p.GetValue(data).ToString()); 49             } 50  51             return parameters; 52         } 53  54         /// <summary>   55         /// 創建GET方式的HTTP請求   56         /// </summary>   57         /// <param name="url">請求的URL</param>   58         /// <param name="timeout">請求的超時時間</param>   59         /// <param name="userAgent">請求的客戶端瀏覽器信息,可以為空</param>   60         /// <param name="cookies">隨同HTTP請求發送的Cookie信息,如果不需要身份驗證可以為空</param>   61         /// <returns></returns>   62         private static HttpWebResponse CreateGetHttpResponse(string url, int? timeout, string userAgent, 63             CookieCollection cookies, Action<string> callback, string encoding = "utf-8") 64         { 65             if (string.IsNullOrEmpty(url)) 66             { 67                 return null; 68                 //throw new ArgumentNullException("url"); 69             } 70             try 71             { 72                 HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; 73                 request.Method = "GET"; 74                 request.UserAgent = DefaultUserAgent; 75                 if (!string.IsNullOrEmpty(userAgent)) 76                 { 77                     request.UserAgent = userAgent; 78                 } 79                 if (timeout.HasValue) 80                 { 81                     request.Timeout = timeout.Value; 82                 } 83                 if (cookies != null) 84                 { 85                     request.CookieContainer = new CookieContainer(); 86                     request.CookieContainer.Add(cookies); 87                 } 88  89                 HttpWebResponse httpWebResponse = request.GetResponse() as HttpWebResponse; 90  91                 StreamReader reader = new StreamReader(httpWebResponse.GetResponseStream(), 92                     System.Text.Encoding.GetEncoding(encoding)); 93  94                 string html = ""; 95                 //獲取請求到的數據 96                 html = reader.ReadToEnd(); 97                 //關閉 98                 httpWebResponse.Close(); 99                 reader.Close();100 101                 Regex regex = new Regex("charset=(?<code>//w+)/"");102                 Match match = regex.Match(html);103                 string code = match.Groups["code"].Value;104                 if (!string.IsNullOrWhiteSpace(code) && code.ToLower() != encoding.ToLower())105                 {106                     return CreateGetHttpResponse(url, timeout, userAgent, cookies, callback, code);107                 }108                 else109                 {110                     callback(html);111                     return httpWebResponse;112                 }113             }114             catch115             {116                 callback(null);117             }118             return null;119         }120 121         /// <summary>  122         /// 創建POST方式的HTTP請求  123         /// </summary>  124         /// <param name="url">請求的URL</param>  125         /// <param name="parameters">隨同請求POST的參數名稱及參數值字典</param>  126         /// <param name="timeout">請求的超時時間</param>  127         /// <param name="userAgent">請求的客戶端瀏覽器信息,可以為空</param>  128         /// <param name="requestEncoding">發送HTTP請求時所用的編碼</param>  129         /// <param name="cookies">隨同HTTP請求發送的Cookie信息,如果不需要身份驗證可以為空</param>  130         /// <returns></returns>  131         private static HttpWebResponse CreatePostHttpResponse(string url, IDictionary<string, string> parameters,132             int? timeout, string userAgent, Encoding requestEncoding, CookieCollection cookies, Action<string> callback)133         {134             if (string.IsNullOrEmpty(url))135             {136                 throw new ArgumentNullException("url");137             }138             if (requestEncoding == null)139             {140                 throw new ArgumentNullException("requestEncoding");141             }142             HttpWebRequest request = null;143             try144             {145                 //如果是發送HTTPS請求  146                 if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))147                 {148                     ServicePointManager.ServerCertificateValidationCallback =149                         new RemoteCertificateValidationCallback(CheckValidationResult);150                     request = WebRequest.Create(url) as HttpWebRequest;151                     request.ProtocolVersion = HttpVersion.Version10;152                 }153                 else154                 {155                     request = WebRequest.Create(url) as HttpWebRequest;156                 }157                 request.Method = "POST";158                 request.ContentType = "application/x-www-form-urlencoded";159 160                 if (!string.IsNullOrEmpty(userAgent))161                 {162                     request.UserAgent = userAgent;163                 }164                 else165                 {166                     request.UserAgent = DefaultUserAgent;167                 }168 169                 if (timeout.HasValue)170                 {171                     request.Timeout = timeout.Value;172                 }173                 if (cookies != null)174                 {175                     request.CookieContainer = new CookieContainer();176                     request.CookieContainer.Add(cookies);177                 }178                 //如果需要POST數據  179                 if (!(parameters == null || parameters.Count == 0))180                 {181                     StringBuilder buffer = new StringBuilder();182                     int i = 0;183
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲v日韩v综合v精品v| 国产精品ⅴa在线观看h| 成人亚洲综合色就1024| 亚洲a∨日韩av高清在线观看| 欧美一级黑人aaaaaaa做受| 中文字幕欧美日韩va免费视频| 91精品视频在线看| 亚洲xxxxx性| 91av在线网站| 久久在线精品视频| 91视频免费在线| 日本午夜精品理论片a级appf发布| 国产一区二区欧美日韩| 国产在线98福利播放视频| 欧美一级bbbbb性bbbb喷潮片| 成人伊人精品色xxxx视频| 成人免费看片视频| 日韩视频亚洲视频| 欧美激情精品久久久久久变态| 国产亚洲人成网站在线观看| 午夜精品久久久久久久99黑人| 国产一区二区香蕉| 国产suv精品一区二区三区88区| 国产有码在线一区二区视频| 亚洲综合中文字幕在线观看| 欧美亚洲另类激情另类| 欧美国产在线电影| 国产视频一区在线| 欧美日韩在线视频首页| 欧美成年人视频| 欧美亚州一区二区三区| 国产精品1区2区在线观看| 另类少妇人与禽zozz0性伦| 亚洲国产婷婷香蕉久久久久久| 亚洲在线一区二区| 一区二区三区四区在线观看视频| 久久久视频精品| 欧美成人精品在线视频| 韩国一区二区电影| 国产日韩欧美黄色| 日韩av日韩在线观看| 精品女同一区二区三区在线播放| 欧洲亚洲妇女av| 疯狂欧美牲乱大交777| 亚洲欧美国产一本综合首页| 亚洲a一级视频| 欧美xxxx做受欧美| 伊人一区二区三区久久精品| 亚洲91av视频| 91av在线影院| 亚洲91精品在线观看| 精品一区二区三区四区| 久久精品国亚洲| 欧美日韩人人澡狠狠躁视频| 国产精品 欧美在线| 在线观看免费高清视频97| 亚洲天堂第二页| 热re99久久精品国产66热| 色播久久人人爽人人爽人人片视av| 久久久视频在线| 中文字幕av一区中文字幕天堂| 5566成人精品视频免费| 精品国产乱码久久久久久婷婷| 粗暴蹂躏中文一区二区三区| 国产精品旅馆在线| 91精品视频免费看| 一区二区三区美女xx视频| 热草久综合在线| 日本精品久久中文字幕佐佐木| 欧美激情精品久久久| 尤物九九久久国产精品的分类| 精品福利樱桃av导航| 欧美日韩在线免费观看| 久久九九热免费视频| 国产91av在线| 日本一区二区三区四区视频| 亚洲天堂第一页| 成人动漫网站在线观看| 色综合久久久久久中文网| 久久人人爽人人爽人人片亚洲| 久久国产精品久久久| 91精品91久久久久久| 亚洲精品美女久久久| 日韩精品在线播放| 国产丝袜一区视频在线观看| 81精品国产乱码久久久久久| 日韩av中文字幕在线免费观看| 中文字幕精品影院| 欧美在线视频网站| 久久国产精品首页| 51精品国产黑色丝袜高跟鞋| 亚洲人午夜精品免费| 久久久久久国产精品久久| 777国产偷窥盗摄精品视频| 性色av香蕉一区二区| 欧美激情亚洲视频| 国产精品福利网| 在线观看精品自拍私拍| 久久精品亚洲94久久精品| 久久久久久久久久久av| 中文字幕不卡av| 91牛牛免费视频| 中日韩午夜理伦电影免费| 97精品一区二区三区| 国产a∨精品一区二区三区不卡| 久久影视电视剧凤归四时歌| 国产精品影院在线观看| 一区二区三区无码高清视频| 国产在线观看精品一区二区三区| 亚洲天堂av在线免费| 热99在线视频| 久久国产精品99国产精| 精品亚洲一区二区三区| 日韩精品中文字幕在线观看| 亚洲伊人久久大香线蕉av| 91免费的视频在线播放| 亚洲丝袜一区在线| 久久成人人人人精品欧| 在线视频国产日韩| 国产欧洲精品视频| 国外视频精品毛片| 日韩美女av在线免费观看| 91亚洲国产成人久久精品网站| 国产亚洲一区二区精品| 97国产在线观看| 一区二区欧美日韩视频| 最近2019中文免费高清视频观看www99| 91精品视频在线看| 色播久久人人爽人人爽人人片视av| 青青草一区二区| 尤物九九久久国产精品的分类| 国产精品欧美日韩久久| 日韩电影中文字幕| 有码中文亚洲精品| 亚洲欧洲第一视频| 亚洲精品丝袜日韩| 4438全国成人免费| 性色av一区二区三区在线观看| 欧美三级xxx| 久久精品国产电影| 亚洲高清一二三区| 久久久久久久久久久av| 亚洲精品日韩激情在线电影| 久久久91精品国产| 久久精品视频导航| 伊人伊成久久人综合网站| 日韩经典一区二区三区| 久久亚洲影音av资源网| 国产主播在线一区| 亚洲白虎美女被爆操| 欧美中文字幕在线| 久久综合网hezyo| 日韩中文有码在线视频| 中文字幕日韩欧美精品在线观看| 午夜精品一区二区三区在线视| 成人免费直播live| 久久亚洲精品中文字幕冲田杏梨| 久久亚洲国产成人| 91社影院在线观看| 国产精品一区二区三区在线播放| 亚州精品天堂中文字幕| 国产精品免费看久久久香蕉| 久久91超碰青草是什么| 欧美韩日一区二区|