資源簡介
C# winhttp 開發封裝類 簡化get post 請求 帶cookie 可自定頭文件
代碼片段和文件信息
///?
///?類說明:HttpHelper類,用來實現Http訪問,Post或者Get方式的,直接訪問,帶Cookie的,帶證書的等方式,可以設置代理
///?重要提示:請不要自行修改本類,如果因為你自己修改后將無法升級到新版本。如果確實有什么問題請到官方網站提建議,
///?我們一定會及時修改
///?編碼日期:2011-09-20
///?編?碼?人:蘇飛
///?聯系方式:361983679??
///?官方網址:http://www.sufeinet.com/thread-3-1-1.html
///?修改日期:2017-09-30
///?版?本?號:1.9
///?
using?System;
using?System.Collections.Generic;
using?System.Text;
using?System.Net;
using?System.IO;
using?System.Text.Regularexpressions;
using?System.IO.Compression;
using?System.Security.Cryptography.X509Certificates;
using?System.Net.Security;
using?System.Linq;
using?System.Net.Cache;
namespace?SufeiUtil
{
????///?
????///?Http連接操作幫助類
????///?
????public?class?HttpHelper
????{
????????#region?預定義方變量
????????//默認的編碼
????????private?Encoding?encoding?=?Encoding.Default;
????????//Post數據編碼
????????private?Encoding?postencoding?=?Encoding.Default;
????????//HttpWebRequest對象用來發起請求
????????private?HttpWebRequest?request?=?null;
????????//獲取影響流的數據對象
????????private?HttpWebResponse?response?=?null;
????????//設置本地的出口ip和端口
????????private?IPEndPoint?_IPEndPoint?=?null;
????????#endregion
????????#region?Public
????????///?
????????///?根據相傳入的數據,得到相應頁面數據
????????///?
????????///?參數類對象
????????///?返回HttpResult類型
????????public?HttpResult?GetHtml(HttpItem?item)
????????{
????????????//返回參數
????????????HttpResult?result?=?new?HttpResult();
????????????try
????????????{
????????????????//準備參數
????????????????SetRequest(item);
????????????}
????????????catch?(Exception?ex)
????????????{
????????????????//配置參數時出錯
????????????????return?new?HttpResult()?{?Cookie?=?string.Empty?Header?=?null?Html?=?ex.Message?StatusDescription?=?“配置參數時出錯:“?+?ex.Message?};
????????????}
????????????try
????????????{
????????????????//請求數據
????????????????using?(response?=?(HttpWebResponse)request.GetResponse())
????????????????{
????????????????????GetData(item?result);
????????????????}
????????????}
????????????catch?(WebException?ex)
????????????{
????????????????if?(ex.Response?!=?null)
????????????????{
????????????????????using?(response?=?(HttpWebResponse)ex.Response)
????????????????????{
????????????????????????GetData(item?result);
????????????????????}
????????????????}
????????????????else
????????????????{
????????????????????result.Html?=?ex.Message;
????????????????}
????????????}
????????????catch?(Exception?ex)
????????????{
????????????????result.Html?=?ex.Message;
????????????}
????????????if?(item.IsToLower)?result.Html?=?result.Html.ToLower();
????????????//重置request,response為空
????????????if?(item.IsReset)
????????????{
????????????????request?=?null;
????????????????response?=?null;
????????????}
????????????return?result;
????????}
????????#endregion
????????#region?GetData
????????///?
????????///?獲取數據的并解析的方法
????????///?
????????
- 上一篇:WPF模擬迅雷TabControl界面
- 下一篇:C#從相機獲取圖像
評論
共有 條評論