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

C#中的HttpWebRequest類用法詳解

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

HttpWebRequest 是一個(gè)Http 請(qǐng)求類,繼承于 WebRequest。

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

WebRequest 有以下派生類:

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

使用時(shí)

using System.Net;

1,HttpWebRequest 實(shí)例化

以下是實(shí)例化方法,使用 visual studio 編寫代碼時(shí),會(huì)提示 可以簡(jiǎn)化代碼,原因下面說(shuō)

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

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

可以是

  • http:// 
  • https:// 

 可以加端口

http://baidu.com:666

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

HttpWebRequest 對(duì)象實(shí)例化,一般不直接new。而是使用.Create 方法返回一個(gè) WebRequest 對(duì)象。

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

注意下面兩個(gè)方法:

  • HttpWebRequest.Create
  • WebRequest.Create

Cretate 返回的都是 WebRequest 對(duì)象,因?yàn)?Create 是一個(gè)靜態(tài)方法

public static WebRequest Create(string requestUriString);

        public static WebRequest Create(Uri requestUri);

        public static WebRequest CreateDefault(Uri requestUri);

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

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

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

設(shè)置方法

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

WebRequest 的請(qǐng)求類型。

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

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

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

WebResponse 對(duì)象的方法

Close()

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

CreateObjRef(Type)

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

(Inherited from MarshalByRefObject)
Dispose()

釋放 WebResponse 對(duì)象使用的非托管資源。

Dispose(Boolean)

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

Equals(Object)

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

(Inherited from Object)
GetHashCode()

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

(Inherited from Object)
GetLifetimeService()

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

(Inherited from MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)     

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

GetResponseStream()

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

GetType()

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

(Inherited from Object)
InitializeLifetimeService()

獲取生存期服務(wù)對(duì)象來(lái)控制此實(shí)例的生存期策略。

(Inherited from MarshalByRefObject)
MemberwiseClone()

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

(Inherited from Object)
MemberwiseClone(Boolean)

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

(Inherited from MarshalByRefObject)
ToString()

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

(Inherited from Object)

3,獲取結(jié)果

使用 WebSponse 對(duì)象的 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();
                }

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

下面是另一個(gè)方法

                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 等對(duì)象所有的方法、屬性等。

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

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

相關(guān)文章

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

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

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

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

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

    C#繪制中國(guó)國(guó)旗的方法

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

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

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

    c#互斥鎖Mutex類用法介紹

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

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

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

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

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

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

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

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

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

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

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

最新評(píng)論