C#,WebRequest類和HttpWebRequest類的區別?
httpWebRequest是webRequest的子類,httpWebRequest是基於http協議的 . HttpWebRequest 是 WebRequest 的實例化使用,單獨的 WebRequest 是不能使用的 在使用HttpWebRequest實例,我們不用使用HttpWebRequest類的構造函數,而是使用WebRequest類提供的靜態方法,然后強制轉換,如: HttpWebResponse webResponse = (HttpWebResponse) webRequest.GetResponse();
HttpRequest 與HttpWebRequest 有什么區別
System.Web.HttpRequest是封裝瀏覽器對服務器的請求的,主要用在ASP.NET中,其中包括瀏覽器請求的網址,查詢字符串數據或表單數據等等 而System.Net.HttpWebRequest則是用來簡化網絡請求的過程,從服務器上獲取文件/結果的,譬如你可以在代碼中用這個類冒充瀏覽器(設置一個UserAgent)來發請求,處理回應 第一:他們不是父子關系。 第二:Syste.Net.HttpWebRequest 類是System.Net.WebRequest抽象類的一個子類,它是 .NET Framework 的用於訪問 Internet 數據的請求/響應模型的抽象基類。使用該請求/響應模型的應用程序可以用協議不可知的方式從 Internet 請求數據。在這種方式下,應用程序處理 WebRequest 類的實例,而協議特定的子類則執行請求的具體細節。 System.Net.HttpWebRequest 類和System.Net.FileWebRequest都繼承了WebRequest 1、FileWebRequest 類為使用 file:// 方案來請求本地文件的 URI 實現 WebRequest 抽象基類。 2、HttpWebRequest 類對 WebRequest 中定義的屬性和方法提供支持,也對使用戶能夠直接與使用 HTTP 的服務器交互的附加屬性和方法提供支持。 第三:System.Web.HttpRequest 類使 ASP.NET 能夠讀取客戶端在 Web 請求期間發送的 HTTP 值。HttpRequest 類的方法和屬性通過 HttpApplication、HttpContext、Page 和 UserControl 類的 Request 屬性公開。 所以使用System.Web.HttpRequest類的時候其實都是利用HttpApplication、HttpContext、Page 和 UserControl 類的 Request 屬性。而使用System.Net.HttpWebRequest類時是為了獲得一個Uri資源。自己創建。 System.Web 命名空間提供使得可以進行瀏覽器與服務器通信的類和接口。此命名空間包括 HttpRequest 類(用於提供有關當前 HTTP 請求的廣泛信息)、HttpResponse 類(用於管理對客戶端的 HTTP 輸出)以及 HttpServerUtility 類(用於提供對服務器端實用工具與進程的訪問)。System.Web 還包括用於 Cookie 操作、文件傳輸、異常信息和輸出緩存控制的類。 System.Net 命名空間為當前網絡上使用的多種協議提供了簡單的編程接口。WebRequest 和 WebResponse 類形成了所謂的可插接式協議的基礎,可插接式協議是網絡服務的一種實現,它使您能夠開發出使用 Internet 資源的應用程序,而不必考慮各種不同協議的具體細節。