다음을 통해 공유


WebRequest 클래스

정의

URI(Uniform Resource Identifier)를 요청합니다. abstract 클래스입니다.

public ref class WebRequest abstract
public ref class WebRequest abstract : MarshalByRefObject, System::Runtime::Serialization::ISerializable
public abstract class WebRequest
public abstract class WebRequest : MarshalByRefObject, System.Runtime.Serialization.ISerializable
[System.Serializable]
public abstract class WebRequest : MarshalByRefObject, System.Runtime.Serialization.ISerializable
type WebRequest = class
type WebRequest = class
    inherit MarshalByRefObject
    interface ISerializable
[<System.Serializable>]
type WebRequest = class
    inherit MarshalByRefObject
    interface ISerializable
Public MustInherit Class WebRequest
Public MustInherit Class WebRequest
Inherits MarshalByRefObject
Implements ISerializable
상속
WebRequest
상속
파생
특성
구현

예제

다음 예제에서는 WebRequest 인스턴스를 만들고 응답을 반환하는 방법을 보여 줍니다.

#using <System.dll>

using namespace System;
using namespace System::IO;
using namespace System::Net;
using namespace System::Text;
int main()
{
   
   // Create a request for the URL.   
   WebRequest^ request = WebRequest::Create( "http://www.contoso.com/default.html" );
   
   // If required by the server, set the credentials.
   request->Credentials = CredentialCache::DefaultCredentials;
   
   // Get the response.
   HttpWebResponse^ response = dynamic_cast<HttpWebResponse^>(request->GetResponse());
   
   // Display the status.
   Console::WriteLine( response->StatusDescription );
   
   // Get the stream containing content returned by the server.
   Stream^ dataStream = response->GetResponseStream();
   
   // Open the stream using a StreamReader for easy access.
   StreamReader^ reader = gcnew StreamReader( dataStream );
   
   // Read the content.
   String^ responseFromServer = reader->ReadToEnd();
   
   // Display the content.
   Console::WriteLine( responseFromServer );
   
   // Cleanup the streams and the response.
   reader->Close();
   dataStream->Close();
   response->Close();
}
using System;
using System.IO;
using System.Net;
using System.Text;

namespace Examples.System.Net
{
    public class WebRequestGetExample
    {
        public static void Main ()
        {
            // Create a request for the URL. 		
            WebRequest request = WebRequest.Create ("http://www.contoso.com/default.html");
            // If required by the server, set the credentials.
            request.Credentials = CredentialCache.DefaultCredentials;
            // Get the response.
            HttpWebResponse response = (HttpWebResponse)request.GetResponse ();
            // Display the status.
            Console.WriteLine (response.StatusDescription);
            // Get the stream containing content returned by the server.
            Stream dataStream = response.GetResponseStream ();
            // Open the stream using a StreamReader for easy access.
            StreamReader reader = new StreamReader (dataStream);
            // Read the content.
            string responseFromServer = reader.ReadToEnd ();
            // Display the content.
            Console.WriteLine (responseFromServer);
            // Cleanup the streams and the response.
            reader.Close ();
            dataStream.Close ();
            response.Close ();
        }
    }
}
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
    End Class
End Namespace

설명

주의

WebRequest, HttpWebRequest, ServicePointWebClient 사용되지 않으므로 새 개발에 사용하면 안 됩니다. 대신 HttpClient 사용합니다.

WebRequest abstract 기본 클래스입니다. 인터넷에서 데이터에 액세스하기 위한 NET의 요청/응답 모델입니다. 요청/응답 모델을 사용하는 애플리케이션은 프로토콜에 구애받지 않는 방식으로 인터넷에서 데이터를 요청할 수 있으며, 이 경우 애플리케이션은 WebRequest 클래스의 인스턴스와 함께 작동하며 프로토콜별 하위 클래스는 요청의 세부 정보를 수행합니다.

요청은 애플리케이션에서 서버의 웹 페이지와 같은 특정 URI로 전송됩니다. URI는 애플리케이션에 등록된 WebRequest 하위 항목 목록에서 만들 적절한 하위 클래스를 결정합니다. WebRequest 하위 항목은 일반적으로 HTTP 또는 FTP와 같은 특정 프로토콜을 처리하도록 등록되지만 서버의 특정 서버 또는 경로에 대한 요청을 처리하도록 등록할 수 있습니다.

WebRequest 클래스는 인터넷 리소스에 액세스하는 동안 오류가 발생할 때 WebException throw합니다. Status 속성은 오류의 원인을 나타내는 WebExceptionStatus 값 중 하나입니다. Status WebExceptionStatus.ProtocolError경우 Response 속성에는 인터넷 리소스에서 받은 WebResponse 포함됩니다.

WebRequest 클래스는 abstract 클래스이므로 런타임에 WebRequest 인스턴스의 실제 동작은 Create 메서드에서 반환된 하위 클래스에 의해 결정됩니다. 기본값 및 예외에 대한 자세한 내용은 HttpWebRequestFileWebRequest같은 하위 클래스에 대한 설명서를 참조하세요.

메모

Create 메서드를 사용하여 새 WebRequest 인스턴스를 초기화합니다. WebRequest 생성자를 사용하지 마세요.

메모

WebRequest 개체를 만드는 애플리케이션이 일반 사용자의 자격 증명으로 실행되는 경우 사용자에게 명시적으로 권한을 부여하지 않는 한 애플리케이션은 로컬 컴퓨터 저장소에 설치된 인증서에 액세스할 수 없습니다.

구현자 참고

WebRequest상속하는 경우 Method, RequestUri, Headers, ContentLength, ContentType, Credentials, PreAuthenticate, GetRequestStream(), BeginGetRequestStream(AsyncCallback, Object), EndGetRequestStream(IAsyncResult), GetResponse(), BeginGetResponse(AsyncCallback, Object)EndGetResponse(IAsyncResult)멤버를 재정의해야 합니다. 또한 Create(Uri)호출할 때 사용되는 Create(Uri) 메서드를 정의하는 IWebRequestCreate 인터페이스의 구현을 제공해야 합니다. RegisterPrefix(String, IWebRequestCreate) 메서드 또는 구성 파일을 사용하여 IWebRequestCreate 인터페이스를 구현하는 클래스를 등록해야 합니다.

생성자

WebRequest()
사용되지 않음.

WebRequest 클래스의 새 인스턴스를 초기화합니다.

WebRequest(SerializationInfo, StreamingContext)
사용되지 않음.

SerializationInfoStreamingContext 클래스의 지정된 인스턴스에서 WebRequest 클래스의 새 인스턴스를 초기화합니다.

속성

AuthenticationLevel

이 요청에 사용되는 인증 및 가장 수준을 나타내는 값을 가져오거나 설정합니다.

CachePolicy

이 요청에 대한 캐시 정책을 가져오거나 설정합니다.

ConnectionGroupName

하위 클래스에서 재정의되는 경우 요청에 대한 연결 그룹의 이름을 가져오거나 설정합니다.

ContentLength

하위 클래스에서 재정의되는 경우 전송되는 요청 데이터의 콘텐츠 길이를 가져오거나 설정합니다.

ContentType

하위 클래스에서 재정의되는 경우 전송되는 요청 데이터의 콘텐츠 형식을 가져오거나 설정합니다.

CreatorInstance
사용되지 않음.

하위 클래스에서 재정의되는 경우 지정된 URI에 대한 요청을 만들기 위해 인스턴스화된 WebRequest 만드는 데 사용되는 IWebRequestCreate 클래스에서 파생된 팩터리 개체를 가져옵니다.

Credentials

하위 클래스에서 재정의되는 경우 인터넷 리소스를 사용하여 요청을 인증하는 데 사용되는 네트워크 자격 증명을 가져오거나 설정합니다.

DefaultCachePolicy

이 요청에 대한 기본 캐시 정책을 가져오거나 설정합니다.

DefaultWebProxy

전역 HTTP 프록시를 가져오거나 설정합니다.

Headers

하위 클래스에서 재정의되는 경우 요청과 연결된 헤더 이름/값 쌍의 컬렉션을 가져오거나 설정합니다.

ImpersonationLevel

현재 요청에 대한 가장 수준을 가져오거나 설정합니다.

Method

하위 클래스에서 재정의되는 경우 이 요청에 사용할 프로토콜 메서드를 가져오거나 설정합니다.

PreAuthenticate

하위 클래스에서 재정의되는 경우 요청을 미리 인증할지 여부를 나타냅니다.

Proxy

하위 클래스에서 재정의되는 경우 이 인터넷 리소스에 액세스하는 데 사용할 네트워크 프록시를 가져오거나 설정합니다.

RequestUri

하위 클래스에서 재정의되는 경우 요청과 연결된 인터넷 리소스의 URI를 가져옵니다.

Timeout

요청 시간이 초과되기 전의 시간 길이(밀리초)를 가져오거나 설정합니다.

UseDefaultCredentials

하위 클래스에서 재정의되는 경우 요청과 함께 DefaultCredentials 전송되는지 여부를 제어하는 Boolean 값을 가져오거나 설정합니다.

메서드

Abort()

요청을 중단합니다.

BeginGetRequestStream(AsyncCallback, Object)

하위 클래스에서 재정의되는 경우 GetRequestStream() 메서드의 비동기 버전을 제공합니다.

BeginGetResponse(AsyncCallback, Object)

하위 클래스에서 재정의되는 경우 인터넷 리소스에 대한 비동기 요청을 시작합니다.

Create(String)
사용되지 않음.

지정된 URI 스키마에 대한 새 WebRequest 인스턴스를 초기화합니다.

Create(Uri)
사용되지 않음.

지정된 URI 스키마에 대한 새 WebRequest 인스턴스를 초기화합니다.

CreateDefault(Uri)
사용되지 않음.

지정된 URI 스키마에 대한 새 WebRequest 인스턴스를 초기화합니다.

CreateHttp(String)
사용되지 않음.

지정된 URI 문자열에 대한 새 HttpWebRequest 인스턴스를 초기화합니다.

CreateHttp(Uri)
사용되지 않음.

지정된 URI에 대한 새 HttpWebRequest 인스턴스를 초기화합니다.

CreateObjRef(Type)

원격 개체와 통신하는 데 사용되는 프록시를 생성하는 데 필요한 모든 관련 정보를 포함하는 개체를 만듭니다.

(다음에서 상속됨 MarshalByRefObject)
EndGetRequestStream(IAsyncResult)

하위 클래스에서 재정의되는 경우 인터넷 리소스에 데이터를 쓰기 위한 Stream 반환합니다.

EndGetResponse(IAsyncResult)

하위 클래스에서 재정의되는 경우 WebResponse반환합니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 여부를 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 사용됩니다.

(다음에서 상속됨 Object)
GetLifetimeService()
사용되지 않음.

이 인스턴스의 수명 정책을 제어하는 현재 수명 서비스 개체를 검색합니다.

(다음에서 상속됨 MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)
사용되지 않음.

대상 개체를 serialize하는 데 필요한 데이터로 SerializationInfo 채웁니다.

GetRequestStream()

하위 클래스에서 재정의되는 경우 인터넷 리소스에 데이터를 쓰기 위한 Stream 반환합니다.

GetRequestStreamAsync()

하위 클래스에서 재정의되는 경우 비동기 작업으로 인터넷 리소스에 데이터를 쓰기 위한 Stream 반환합니다.

GetResponse()

하위 클래스에서 재정의되는 경우 인터넷 요청에 대한 응답을 반환합니다.

GetResponseAsync()

하위 클래스에서 재정의되는 경우 인터넷 요청에 대한 응답을 비동기 작업으로 반환합니다.

GetSystemWebProxy()

현재 가장된 사용자의 인터넷 옵션 설정으로 구성된 프록시를 반환합니다.

GetType()

현재 인스턴스의 Type 가져옵니다.

(다음에서 상속됨 Object)
InitializeLifetimeService()
사용되지 않음.

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.

(다음에서 상속됨 MarshalByRefObject)
MemberwiseClone()

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
MemberwiseClone(Boolean)

현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다.

(다음에서 상속됨 MarshalByRefObject)
RegisterPortableWebRequestCreator(IWebRequestCreate)
사용되지 않음.

IWebRequestCreate 개체를 등록합니다.

RegisterPrefix(String, IWebRequestCreate)

지정된 URI에 대한 WebRequest 하위 항목을 등록합니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

ISerializable.GetObjectData(SerializationInfo, StreamingContext)
사용되지 않음.

하위 클래스에서 재정의되는 경우 WebRequestserialize하는 데 필요한 데이터로 SerializationInfo 인스턴스를 채웁니다.

적용 대상

추가 정보