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 メソッドで返される派生クラスによって決まります。既定値および例外の詳細については、 HttpWebRequest や FileWebRequest などの派生クラスの説明を参照してください。
使用例
[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