次の方法で共有


WebRequest.Proxy プロパティ

派生クラスでオーバーライドされると、インターネット リソースにアクセスするために使用するネットワーク プロキシを取得または設定します。

Public Overridable Property Proxy As IWebProxy
[C#]
public virtual IWebProxy Proxy {get; set;}
[C++]
public: __property virtual IWebProxy* get_Proxy();public: __property virtual void set_Proxy(IWebProxy*);
[JScript]
public function get Proxy() : IWebProxy;public function set Proxy(IWebProxy);

プロパティ値

インターネット リソースにアクセスするために使用する IWebProxy

例外

例外の種類 条件
NotSupportedException プロパティが派生クラスでオーバーライドされていないのに、そのプロパティの取得または設定が試行されました。

解説

Proxy プロパティは、要求がインターネット リソースにアクセスするために使用するネットワーク プロキシを識別します。要求は、インターネット リソースに直接送信されずに、プロキシ サーバーを経由します。

メモ    WebRequest クラスは、抽象 (Visual Basic では MustInherit) クラスです。実行時の WebRequest インスタンスの実際の動作は、 WebRequest.Create メソッドで返される派生クラスによって決まります。既定値および例外の詳細については、 HttpWebRequestFileWebRequest などの派生クラスの説明を参照してください。

使用例

[Visual Basic, C#, C++] 現在のネットワーク プロキシ アドレスを表示して、ユーザーが新しいネットワーク プロキシ アドレスとポート番号を割り当てることができるようにする例を次に示します。

 

' Create a new request to the mentioned URL.                
Dim myWebRequest As WebRequest = WebRequest.Create("https://www.contoso.com")
Dim myProxy As New WebProxy()

' Obtain the Proxy Prperty of the  Default browser. 
 myProxy = CType(myWebRequest.Proxy, WebProxy)

' Print myProxy address to the console.
Console.WriteLine(ControlChars.Cr + "The actual default Proxy settings are {0}", myProxy.Address)

Try
    Console.WriteLine(ControlChars.Cr + "Please enter the new Proxy Address to be set ")
    Console.WriteLine("The format of the address should be http://proxyUriAddress:portaddress")
    Console.WriteLine("Example:http://moon.proxy.com:8080")
    Dim proxyAddress As String
    proxyAddress = Console.ReadLine()

    If proxyAddress.Length = 0 Then
        myWebRequest.Proxy = myProxy
    Else
        Console.WriteLine(ControlChars.Cr + "Please enter the Credentials")
        Console.WriteLine("Username:")
        Dim username As String
        username = Console.ReadLine()
        Console.WriteLine(ControlChars.Cr + "Password:")
        Dim password As String
        password = Console.ReadLine()

       ' Create a new Uri object.
        Dim newUri As New Uri(proxyAddress)

        ' Associate the new Uri object to the myProxy object.
        myProxy.Address = newUri

        ' Create a NetworkCredential object and is assign to the Credentials property of the Proxy object.
        myProxy.Credentials = New NetworkCredential(username, password)
        myWebRequest.Proxy = myProxy
        
    End If
    Console.WriteLine(ControlChars.Cr + "The Address of the  new Proxy settings are {0}", myProxy.Address)
    Dim myWebResponse As WebResponse = myWebRequest.GetResponse()

    ' Print the  HTML contents of the page to the console.
    Dim streamResponse As Stream = myWebResponse.GetResponseStream()

    Dim streamRead As New StreamReader(streamResponse)
    Dim readBuff(256) As [Char]
    Dim count As Integer = streamRead.Read(readBuff, 0, 256)
    Console.WriteLine(ControlChars.Cr + "The contents of the Html pages are :")

    While count > 0
        Dim outputData As New [String](readBuff, 0, count)
        Console.Write(outputData)
        count = streamRead.Read(readBuff, 0, 256)

    End While

           ' Close the Stream object.
    streamResponse.Close()
          streamRead.Close()

          ' Release the HttpWebResponse Resource.
myWebResponse.Close()
    Console.WriteLine(ControlChars.Cr + "Press any key to continue.........")
    Console.Read()
Catch e As UriFormatException
    Console.WriteLine(ControlChars.Cr + "{0}", e.Message)
    Console.WriteLine(ControlChars.Cr + "The format of the myProxy address you entered is invalid")
 End Try
 

[C#] 
// Create a new request to the mentioned URL.                
WebRequest myWebRequest=WebRequest.Create("https://www.contoso.com");

WebProxy myProxy=new WebProxy();
// Obtain the Proxy Prperty of the  Default browser.  
myProxy=(WebProxy)myWebRequest.Proxy;

// Print myProxy address to the console.
Console.WriteLine("\nThe actual default Proxy settings are {0}",myProxy.Address);
         try
{
    Console.WriteLine("\nPlease enter the new Proxy Address to be set ");
    Console.WriteLine("The format of the address should be http://proxyUriAddress:portaddress");
    Console.WriteLine("Example:http://proxyadress.com:8080");
    string proxyAddress;
    proxyAddress =Console.ReadLine();

    if(proxyAddress.Length==0)
    {
        myWebRequest.Proxy=myProxy;
    }
    else
    {
        Console.WriteLine("\nPlease enter the Credentials");
        Console.WriteLine("Username:");
        string username;
        username =Console.ReadLine();
        Console.WriteLine("\nPassword:");
        string password;
        password =Console.ReadLine();

        // Create a new Uri object.
        Uri newUri=new Uri(proxyAddress);

        // Associate the new Uri object to the myProxy object.
        myProxy.Address=newUri;

        // Create a NetworkCredential object and is assign to the Credentials property of the Proxy object.
        myProxy.Credentials=new NetworkCredential(username,password);
        myWebRequest.Proxy=myProxy;
    }
    Console.WriteLine("\nThe Address of the  new Proxy settings are {0}",myProxy.Address);
    WebResponse myWebResponse=myWebRequest.GetResponse();

    // Print the  HTML contents of the page to the console.
    Stream streamResponse=myWebResponse.GetResponseStream();
    StreamReader streamRead = new StreamReader( streamResponse );
    Char[] readBuff = new Char[256];
    int count = streamRead.Read( readBuff, 0, 256 );
    Console.WriteLine("\nThe contents of the Html pages are :");    
    while (count > 0) 
    {
        String outputData = new String(readBuff, 0, count);
        Console.Write(outputData);
        count = streamRead.Read(readBuff, 0, 256);
    }

    // Close the Stream object.
    streamResponse.Close();
    streamRead.Close();

    // Release the HttpWebResponse Resource.
    myWebResponse.Close();
    Console.WriteLine("\nPress any key to continue.........");
    Console.Read();                
}
catch(UriFormatException e)
{
    Console.WriteLine("\nUriFormatException is thrown.Message is {0}",e.Message);
    Console.WriteLine("\nThe format of the myProxy address you entered is invalid");
    Console.WriteLine("\nPress any key to continue.........");
    Console.Read();
}

[C++] 
// Create a new request to the mentioned URL.
WebRequest* myWebRequest = WebRequest::Create(S"https://www.contoso.com");

WebProxy* myProxy = new WebProxy();
// Obtain the Proxy Prperty of the  Default browser.
myProxy = dynamic_cast<WebProxy*>(myWebRequest->Proxy);

// Print myProxy address to the console.
Console::WriteLine(S"\nThe actual default Proxy settings are {0}", myProxy->Address);
try {
   Console::WriteLine(S"\nPlease enter the new Proxy Address to be set ");
   Console::WriteLine(S"The format of the address should be http://proxyUriAddress:portaddress");
   Console::WriteLine(S"Example:http://proxyadress.com:8080");
   String* proxyAddress;
   proxyAddress =Console::ReadLine();

   if (proxyAddress->Length==0) {
      myWebRequest->Proxy=myProxy;
   } else {
      Console::WriteLine(S"\nPlease enter the Credentials");
      Console::WriteLine(S"Username:");
      String* username;
      username =Console::ReadLine();
      Console::WriteLine(S"\nPassword:");
      String* password;
      password =Console::ReadLine();

      // Create a new Uri object.
      Uri* newUri = new Uri(proxyAddress);

      // Associate the new Uri object to the myProxy object.
      myProxy->Address=newUri;

      // Create a NetworkCredential object and is assign to the Credentials
      // property of the Proxy object.
      myProxy->Credentials = new NetworkCredential(username, password);
      myWebRequest->Proxy=myProxy;
   }
   Console::WriteLine(S"\nThe Address of the  new Proxy settings are {0}",
      myProxy->Address);
   WebResponse* myWebResponse=myWebRequest->GetResponse();

   // Print the  HTML contents of the page to the console.
   Stream* streamResponse=myWebResponse->GetResponseStream();
   StreamReader* streamRead = new StreamReader(streamResponse);
   Char readBuff[] = new Char[256];
   int count = streamRead->Read(readBuff, 0, 256);
   Console::WriteLine(S"\nThe contents of the Html pages are :");
   while (count > 0) {
      String* outputData = new String(readBuff, 0, count);
      Console::Write(outputData);
      count = streamRead->Read(readBuff, 0, 256);
   }

   // Close the Stream object.
   streamResponse->Close();
   streamRead->Close();

   // Release the HttpWebResponse Resource.
   myWebResponse->Close();
   Console::WriteLine(S"\nPress any key to continue.........");
   Console::Read();
} catch (UriFormatException* e) {
   Console::WriteLine(S"\nUriFormatException is thrown->Message is {0}", e->Message);
   Console::WriteLine(S"\nThe format of the myProxy address you entered is invalid");
   Console::WriteLine(S"\nPress any key to continue.........");
   Console::Read();
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

WebRequest クラス | WebRequest メンバ | System.Net 名前空間 | IWebProxy | WebProxy | HttpWebRequest.Proxy