WebRequest 類別
This page is specific to:.NET Framework Version:2.03.5Silverlight 3
.NET Framework 類別庫
WebRequest 類別

向統一資源識別元 (URI) 提出要求。這是 abstract 類別。

命名空間: System.Net
組件: System (在 system.dll 中)

語法

<SerializableAttribute> _
Public MustInherit Class WebRequest
    Inherits MarshalByRefObject
    Implements ISerializable
Dim instance As WebRequest
此語言目前尚未提供程式碼範例。
/** @attribute SerializableAttribute() */ 
public abstract class WebRequest extends MarshalByRefObject implements ISerializable
備註

WebRequest 是從網際網路存取資料的 .NET Framework 要求/回應模型的 abstract 基底類別。使用要求/回應模型的應用程式可以用不驗證通訊協定 (Protocol) 的方式,從網際網路要求資料,其中應用程式和 WebRequest 類別的執行個體 (Instance) 一起作用,而特定通訊協定的子代 (Descendant) 類別會完成要求的細節。

要求是從應用程式傳送至特定的 URI,例如伺服器上的 Web 網頁。URI 會從為應用程式所登錄的 WebRequest 子代清單中,決定所要建立的適當子代。通常,WebRequest 子代會登錄處理特定通訊協定,例如 HTTP 或 FTP,不過可以登錄處理對指定伺服器或伺服器上指定路徑的要求。

當存取網際網路資源發生錯誤時,WebRequest 類別會擲回 WebExceptionWebException.Status 屬性是指示錯誤來源的其中一個 WebExceptionStatus 值。當 WebException.StatusWebExceptionStatus.ProtocolError 時,Response 屬性包含從網際網路資源所接收的 WebResponse

因為 WebRequest 類別是 abstract 類別,所以 WebRequest 執行個體在執行階段的實際行為是由 System.Net.WebRequest.Create 方法傳回的子代類別決定。如需預設值和例外狀況的相關資訊,請參閱子代類別,例如 HttpWebRequestFileWebRequest

Note注意事項

使用 Create 方法,初始化新的 WebRequest 執行個體。不要使用 WebRequest 建構函式。

Note注意事項

如果建立 WebRequest 物件的應用程式以一般使用者的認證執行,則必須明確授與相關權限給使用者,否則應用程式將無法存取本機電腦存放區中所安裝的憑證。

繼承者注意事項 當從 WebRequest 繼承時,您必須覆寫下列成員:MethodRequestUriHeadersContentLengthContentTypeCredentialsPreAuthenticateGetRequestStreamBeginGetRequestStreamEndGetRequestStreamGetResponseBeginGetResponseEndGetResponse。此外,您還必須提供 IWebRequestCreate 介面的實作,以定義呼叫 Create 時所使用的 Create 方法。您必須使用 RegisterPrefix 方法或組態檔,註冊實作 IWebRequestCreate 介面的類別。

範例

下列範例顯示如何建立 WebRequest 執行個體並傳回回應。

Imports System
Imports System.IO
Imports System.Net
Imports System.Text
Namespace Examples.System.Net
    Public Class WebRequestGetExample

        Public Shared Sub Main()
            ' Create a request for the URL.         
            Dim request As WebRequest = WebRequest.Create("http://www.contoso.com/default.html")
            ' If required by the server, set the credentials.
            request.Credentials = CredentialCache.DefaultCredentials
            ' Get the response.
            Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
            ' Display the status.
            Console.WriteLine(response.StatusDescription)
            ' Get the stream containing content returned by the server.
            Dim dataStream As Stream = response.GetResponseStream()
            ' Open the stream using a StreamReader for easy access.
            Dim reader As New StreamReader(dataStream)
            ' Read the content.
            Dim responseFromServer As String = reader.ReadToEnd()
            ' Display the content.
            Console.WriteLine(responseFromServer)
            ' Cleanup the streams and the response.
            reader.Close()
            dataStream.Close()
            response.Close()
        End Sub 'Main
    End Class 'WebRequestGetExample
End Namespace

.NET Framework 安全性

  • WebPermission  用於存取所要求的 URI,或是所有重新導向要求的 URI。關聯的列舉型別:Connect
繼承階層架構

System.Object
   System.MarshalByRefObject
    System.Net.WebRequest
       System.Net.FileWebRequest
       System.Net.FtpWebRequest
       System.Net.HttpWebRequest
執行緒安全

這個型別的所有公用靜態成員 (即 Visual Basic 中的 Shared 成員) 都是安全執行緒。並非所有的執行個體成員均為安全執行緒。
平台

Windows 98、 Windows 2000 SP4、 Windows CE、 Windows Millennium Edition、 Windows Mobile for Pocket PC、 Windows Mobile for Smartphone、 Windows Server 2003、 Windows XP Media Center Edition、 Windows XP Professional x64 Edition、 Windows XP SP2、 Windows XP Starter Edition

.NET Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱系統需求一節的內容。

版本資訊

.NET Framework

支援版本:2.0、1.1、1.0

.NET Compact Framework

支援版本:2.0、1.0
請參閱

© 2009 Microsoft Corporation. 著作權所有,並保留一切權利。   使用規定 | 商標 | 隱私權聲明
Page view tracker
對這個輕量型程式庫評分
x
ScriptFree 的輕量型組建 (loband) 新增您要求的功能: 搜尋方塊與預設語言代碼選擇。
您喜歡搜尋方塊嗎?
您喜歡索引標籤式的程式碼區塊嗎?
本主題的實用性如何?
告訴我們更多關於您的想法。
謝謝
x
您寶貴的意見可以協助我們改善 MSDN Online 的品質。
意見
切換檢視
一般
輕量型
ScriptFree
切換檢視