欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#中的HttpWebRequest類用法詳解

 更新時間:2022年01月15日 09:47:43   作者:癡者工良  
本文詳細(xì)講解了C#中的HttpWebRequest類的用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

HttpWebRequest 是一個Http 請求類,繼承于 WebRequest。

WebRequest 是一個抽象類,能夠?qū)y(tǒng)一資源標(biāo)識符 (URI) 發(fā)出請求。

WebRequest 有以下派生類:

  • System.IO.Packaging.PackWebRequest
  • System.Net.FileWebRequest
  • System.Net.FtpWebRequest
  • System.Net.HttpWebRequest

使用時

using System.Net;

1,HttpWebRequest 實例化

以下是實例化方法,使用 visual studio 編寫代碼時,會提示 可以簡化代碼,原因下面說

string url = "http://baidu.com";
            HttpWebRequest httpWeb = (HttpWebRequest)HttpWebRequest.Create(url);

HttpWebRequest 對應(yīng)的是 URL,所以其連接字符串必須是 有效的 HTTP 字符串,網(wǎng)址前面必須加上 Http 協(xié)議類型。

可以是

  • http:// 
  • https:// 

 可以加端口

http://baidu.com:666

也可以是IP,但也要加上 http 頭和端口。

HttpWebRequest 對象實例化,一般不直接new。而是使用.Create 方法返回一個 WebRequest 對象。

HttpWebRequest httpWeb = (HttpWebRequest)WebRequest.Create("https://www.whuanle.cn:443");

注意下面兩個方法:

  • HttpWebRequest.Create
  • WebRequest.Create

Cretate 返回的都是 WebRequest 對象,因為 Create 是一個靜態(tài)方法

public static WebRequest Create(string requestUriString);

        public static WebRequest Create(Uri requestUri);

        public static WebRequest CreateDefault(Uri requestUri);

所以,創(chuàng)建HttpWebRequest 實例時,這樣創(chuàng)建:

HttpWebRequest httpWeb = (HttpWebRequest)WebRequest.Create("https://www.whuanle.cn:443");

HttpWebRequest 支持 GET 和 POST 兩種方式進(jìn)行請求,

設(shè)置方法

HttpWebRequest httpWeb = (HttpWebRequest)WebRequest.Create("https://www.whuanle.cn:443");
            httpWeb.Method = "GET";

WebRequest 的請求類型。

  • http://
  • https://
  • ftp://
  • file://

2,GetResponse 獲取請求結(jié)果

HttpWebRequest 對象 使用 .GetResponse() 方法, 獲取返回結(jié)果,.GetResponse() 返回的是一個 WebResponse 對象。

WebResponse 對象的方法

Close()

當(dāng)由子類重寫時,將關(guān)閉響應(yīng)流。

CreateObjRef(Type)

創(chuàng)建一個對象,該對象包含生成用于與遠(yuǎn)程對象進(jìn)行通信的代理所需的全部相關(guān)信息。

(Inherited from MarshalByRefObject)
Dispose()

釋放 WebResponse 對象使用的非托管資源。

Dispose(Boolean)

釋放由 WebResponse 對象使用的非托管資源,并可根據(jù)需要釋放托管資源。

Equals(Object)

確定指定的對象是否等于當(dāng)前對象。

(Inherited from Object)
GetHashCode()

作為默認(rèn)哈希函數(shù)。

(Inherited from Object)
GetLifetimeService()

檢索控制此實例的生存期策略的當(dāng)前生存期服務(wù)對象。

(Inherited from MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)     

使用序列化目標(biāo)對象所需的數(shù)據(jù)填充 SerializationInfo。

GetResponseStream()

當(dāng)在子類中重寫時,從 Internet 資源返回數(shù)據(jù)流。

GetType()

獲取當(dāng)前實例的 Type。

(Inherited from Object)
InitializeLifetimeService()

獲取生存期服務(wù)對象來控制此實例的生存期策略。

(Inherited from MarshalByRefObject)
MemberwiseClone()

創(chuàng)建當(dāng)前 Object 的淺表副本。

(Inherited from Object)
MemberwiseClone(Boolean)

創(chuàng)建當(dāng)前 MarshalByRefObject 對象的淺表副本。

(Inherited from MarshalByRefObject)
ToString()

返回表示當(dāng)前對象的字符串。

(Inherited from Object)

3,獲取結(jié)果

使用 WebSponse 對象的 GetResponseStream() 方法獲取數(shù)據(jù)流

string Url = "https://www.whuanle.cn:443";
                WebRequest wReq = WebRequest.Create(Url);
                WebResponse wResp = wReq.GetResponse();
                System.IO.Stream respStream = wResp.GetResponseStream();

4,獲取流信息

string Url = "https://www.whuanle.cn:443";
                WebRequest wReq = WebRequest.Create(Url);
                WebResponse wResp = wReq.GetResponse();
                System.IO.Stream respStream = wResp.GetResponseStream();

                using (System.IO.StreamReader reader = new System.IO.StreamReader(respStream, Encoding.UTF8))
                {
                    string a = "";
                    while ((a = reader.ReadLine()) != null)
                    {
                        Console.WriteLine(a);
                    }
                    return reader.ReadToEnd();
                }

上面是一個獲取流的例子,以 UTF8 編碼輸出流,以行讀取。

下面是另一個方法

                string Url = "https://www.whuanle.cn:443";
                WebRequest wReq = WebRequest.Create(Url);
                WebResponse wResp = wReq.GetResponse();
                System.IO.Stream respStream = wResp.GetResponseStream();

                using (System.IO.StreamReader reader = new System.IO.StreamReader(respStream, Encoding.UTF8))
                {
                    string str = reader.ReadToEnd();
                    Console.WriteLine(str);
                }

使用 reader.ReadToEnd() 可以一次性從流中讀取所有的字符。

推薦一位其他人的文章,里面列出了WebRequest、WebResponse 等對象所有的方法、屬性等。

地址:http://www.dbjr.com.cn/article/234688.htm

到此這篇關(guān)于C#中的HttpWebRequest類用法的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C# RSA分段加解密實現(xiàn)方法詳解

    C# RSA分段加解密實現(xiàn)方法詳解

    這篇文章主要介紹了C# RSA分段加解密實現(xiàn)方法,結(jié)合具體實例形式分析了C# RSA加密解密的原理與具體實現(xiàn)技巧,需要的朋友可以參考下
    2017-04-04
  • 利用Aspose.Word控件實現(xiàn)Word文檔的操作

    利用Aspose.Word控件實現(xiàn)Word文檔的操作

    偶然一次機(jī)會,一個項目的報表功能指定需要導(dǎo)出為Word文檔,因此尋找了很多篇文章,不過多數(shù)介紹的比較簡單一點,于是也參考了官方的幫助介紹,終于滿足了客戶的需求。下面我由淺入深來介紹這個控件在實際業(yè)務(wù)中的使用過程吧
    2013-05-05
  • C#繪制中國國旗的方法

    C#繪制中國國旗的方法

    這篇文章主要介紹了C#繪制中國國旗的方法,以實例形式較為詳細(xì)的分析了C#圖形繪制的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • C#實現(xiàn)的序列化通用類實例

    C#實現(xiàn)的序列化通用類實例

    這篇文章主要介紹了C#實現(xiàn)的序列化通用類,實例分析了C#序列化與反序列化操作相關(guān)技巧,需要的朋友可以參考下
    2015-04-04
  • c#互斥鎖Mutex類用法介紹

    c#互斥鎖Mutex類用法介紹

    本文詳細(xì)講解了c#互斥鎖Mutex類的用法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02
  • C#代碼實現(xiàn)對AES加密解密

    C#代碼實現(xiàn)對AES加密解密

    這篇文章主要介紹了C#代碼實現(xiàn)對AES加密解密的相關(guān)資料,AES是一個新的可以用于保護(hù)電子數(shù)據(jù)的加密算法,需要的朋友可以參考下
    2015-12-12
  • C# 通過NI-VISA操作Tektronix TBS 2000B系列示波器的實現(xiàn)步驟

    C# 通過NI-VISA操作Tektronix TBS 2000B系列示波器的實現(xiàn)步驟

    這篇文章主要介紹了C# 通過NI-VISA操作Tektronix TBS 2000B系列示波器的實現(xiàn)步驟,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-02-02
  • C#中實現(xiàn)輸入漢字獲取其拼音(漢字轉(zhuǎn)拼音)的2種方法

    C#中實現(xiàn)輸入漢字獲取其拼音(漢字轉(zhuǎn)拼音)的2種方法

    這篇文章主要介紹了C#中實現(xiàn)輸入漢字獲取其拼音(漢字轉(zhuǎn)拼音)的2種方法,本文分別給出了使用微軟語言包、手動編碼實現(xiàn)兩種實現(xiàn)方式,需要的朋友可以參考下
    2015-01-01
  • C#飛行棋小程序設(shè)計分析

    C#飛行棋小程序設(shè)計分析

    這篇文章主要為大家設(shè)計分析了C#飛行棋小程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • C#實現(xiàn)奇偶排序的示例代碼

    C#實現(xiàn)奇偶排序的示例代碼

    奇偶排序是一種簡單的排序算法,該算法通過比較并交換相鄰的元素來完成排序,本文主要介紹了C#實現(xiàn)奇偶排序的示例代碼,具有一定的參考價值,感興趣的可以了解一下
    2023-11-11

最新評論