HttpWebRequest.Proxy HttpWebRequest.Proxy HttpWebRequest.Proxy HttpWebRequest.Proxy Property

定義

要求に対して使用するプロキシ情報を取得または設定します。Gets or sets proxy information for the request.

public:
 virtual property System::Net::IWebProxy ^ Proxy { System::Net::IWebProxy ^ get(); void set(System::Net::IWebProxy ^ value); };
public override System.Net.IWebProxy Proxy { get; set; }
member this.Proxy : System.Net.IWebProxy with get, set
Public Overrides Property Proxy As IWebProxy

プロパティ値

要求に対するプロキシで使用する IWebProxy オブジェクト。The IWebProxy object to use to proxy the request. 既定値は Select プロパティを呼び出して設定します。The default value is set by calling the Select property.

例外

呼び出し元には、要求された操作に対するアクセス許可がありません。The caller does not have permission for the requested operation.

次のコード例ではProxy 、メソッドを使用して、要求のプロキシ情報を取得します。The following code example uses the Proxy method to get the proxy information for the request.

// Create a new request to the mentioned URL.
HttpWebRequest ^ myWebRequest =
    (HttpWebRequest ^) (WebRequest::Create("http://www.microsoft.com"));

// Obtain the 'Proxy' of the  Default browser.  
IWebProxy ^ proxy = myWebRequest->Proxy;
// Print the Proxy Url to the console.
if (proxy) 
{
    Console::WriteLine("Proxy: {0}",
        proxy->GetProxy(myWebRequest->RequestUri));
} 
else 
{
    Console::WriteLine("Proxy is null; no proxy will be used");
}

WebProxy ^ myProxy = gcnew WebProxy;

Console::WriteLine("\nPlease enter the new Proxy Address that is to be set:");
Console::WriteLine("(Example:http://myproxy.example.com:port)");
String ^ proxyAddress;

try 
{
    proxyAddress = Console::ReadLine();
    if (proxyAddress->Length > 0) {
        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 = gcnew Uri(proxyAddress);
        // Associate the newUri object to 'myProxy' object so that new myProxy settings can be set.
        myProxy->Address = newUri;
        // Create a NetworkCredential object and associate it with the Proxy property of request object.
        myProxy->Credentials =
            gcnew NetworkCredential(username, password);
        myWebRequest->Proxy = myProxy;
    }
    Console::WriteLine("\nThe Address of the  new Proxy settings are {0}",
                  myProxy->Address);
    HttpWebResponse ^ myWebResponse =
        (HttpWebResponse ^) (myWebRequest->GetResponse());
// Create a new request to the mentioned URL.				
HttpWebRequest myWebRequest=(HttpWebRequest)WebRequest.Create("http://www.microsoft.com");

// Obtain the 'Proxy' of the  Default browser.  
IWebProxy proxy = myWebRequest.Proxy;
// Print the Proxy Url to the console.
if (proxy != null)
{
    Console.WriteLine("Proxy: {0}", proxy.GetProxy(myWebRequest.RequestUri));
} 
else
{
    Console.WriteLine("Proxy is null; no proxy will be used");
}

WebProxy myProxy=new WebProxy();

Console.WriteLine("\nPlease enter the new Proxy Address that is to be set:");
Console.WriteLine("(Example:http://myproxy.example.com:port)");
string proxyAddress;

try
{
    proxyAddress =Console.ReadLine();
    if(proxyAddress.Length>0)
    {
        Console.WriteLine("\nPlease enter the Credentials (may not be needed)");
        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 newUri object to 'myProxy' object so that new myProxy settings can be set.
        myProxy.Address=newUri;
        // Create a NetworkCredential object and associate it with the 
        // Proxy property of request object.
        myProxy.Credentials=new NetworkCredential(username,password);
        myWebRequest.Proxy=myProxy;
    }
    Console.WriteLine("\nThe Address of the  new Proxy settings are {0}",myProxy.Address);
    HttpWebResponse myWebResponse=(HttpWebResponse)myWebRequest.GetResponse();
' Create a new request to the mentioned URL.				
Dim myWebRequest As HttpWebRequest = CType(WebRequest.Create("http://www.microsoft.com"), HttpWebRequest)

      ' Obtain the 'Proxy' of the  Default browser.  
      Dim proxy as IWebProxy = CType(myWebRequest.Proxy, IWebProxy)
      ' Print the Proxy Url to the console.
If Not proxy Is Nothing Then
    Console.WriteLine("Proxy: {0}", proxy.GetProxy(myWebRequest.RequestUri))
Else
    Console.WriteLine("Proxy is null; no proxy will be used")
End If

Dim myProxy As New WebProxy()

Console.WriteLine(ControlChars.Cr + "Please enter the new Proxy Address that is to be set ")
Console.WriteLine("(Example:http://myproxy.example.com:port)")
Dim proxyAddress As String
Try
    proxyAddress = Console.ReadLine()
    If proxyAddress.Length = 0 Then
        myWebRequest.Proxy = myProxy
    Else
        Console.WriteLine(ControlChars.Cr + "Please enter the Credentials (may not be needed)")
        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 newUri object to 'myProxy' object so that new myProxy settings can be set.
        myProxy.Address = newUri
        ' Create a NetworkCredential object and associate it with the Proxy property of request 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 HttpWebResponse = CType(myWebRequest.GetResponse(), HttpWebResponse)

注釈

プロパティProxyは、インターネットWebProxyリソースへの要求を処理するために使用するオブジェクトを識別します。The Proxy property identifies the WebProxy object to use to process requests to Internet resources. プロキシを使用しないように指定するにはProxyGlobalProxySelection.GetEmptyWebProxyメソッドによって返されるプロキシインスタンスにプロパティを設定します。To specify that no proxy should be used, set the Proxy property to the proxy instance returned by the GlobalProxySelection.GetEmptyWebProxy method.

ローカルコンピューターまたはアプリケーション構成ファイルで、既定のプロキシを使用するように指定できます。The local computer or application config file may specify that a default proxy be used. プロパティが指定されている場合、 Proxyプロパティのプロキシ設定は、ローカルコンピューターまたはHttpWebRequestアプリケーションの構成ファイルよりも優先されます。インスタンスは、指定されたプロキシ設定を使用します。 ProxyIf the Proxy property is specified, then the proxy settings from the Proxy property override the local computer or application config file and the HttpWebRequest instance will use the proxy settings specified. 構成ファイルでプロキシが指定されてProxyおらず、プロパティが指定されていない場合、クラスはHttpWebRequest 、ローカルコンピューター上の Internet Explorer から継承されたプロキシ設定を使用します。If no proxy is specified in a config file and the Proxy property is unspecified, the HttpWebRequest class uses the proxy settings inherited from Internet Explorer on the local computer. Internet Explorer にプロキシ設定がない場合、要求はサーバーに直接送信されます。If there are no proxy settings in Internet Explorer, the request is sent directly to the server.

クラスHttpWebRequestは、internet explorer から継承されたワイルドカード文字を使用してプロキシバイパスリストを解析します。バイパスリストは internet explorer によって直接解析されます。The HttpWebRequest class parses a proxy bypass list with wildcard characters inherited from Internet Explorer the same as the bypass list is parsed directly by Internet Explorer. たとえば、クラスはHttpWebRequest 、Internet Explorer から "nt.*" という正規表現として "nt *" のバイパスリストを解析します。For example, the HttpWebRequest class will parse a bypass list of "nt*" from Internet Explorer as a regular expression of "nt.*". そのため、"http://nt.com" の URL は、 HttpWebRequestクラスと Internet Explorer を使用してプロキシをバイパスします。So a URL of "http://nt.com" would bypass the proxy using the HttpWebRequest class and using Internet Explorer.

クラスHttpWebRequestは、ローカルプロキシバイパスをサポートしています。The HttpWebRequest class supports local proxy bypass. クラスは、次のいずれかの条件が満たされた場合に、宛先がローカルであると見なされます。The class considers a destination to be local if any of the following conditions are met:

  • 宛先には、フラット名が含まれています (URL にドットがありません)。The destination contains a flat name (no dots in the URL).

  • 宛先にループバックアドレス (LoopbackまたはIPv6Loopback) が含まれているIPAddressか、宛先にローカルコンピューターに割り当てられたが含まれています。The destination contains a loopback address (Loopback or IPv6Loopback) or the destination contains an IPAddress assigned to the local computer.

  • 宛先のドメインサフィックスは、ローカルコンピューターのドメインサフィックス (DomainName) と一致します。The domain suffix of the destination matches the local computer's domain suffix (DomainName).

、、 Proxy GetResponse、のいずれかGetRequestStream BeginGetRequestStream InvalidOperationExceptionのメソッドを呼び出すことによって、要求が開始された後にプロパティを変更すると、がスローされます。 BeginGetResponseChanging the Proxy property after the request has been started by calling the GetRequestStream, BeginGetRequestStream, GetResponse, or BeginGetResponse method throws an InvalidOperationException. プロキシ要素の詳細については、「 &lt&; defaultproxy gt;」を参照してください。要素 (ネットワーク設定)For information on the proxy element see <defaultProxy> Element (Network Settings).

セキュリティ

WebPermission
Proxyプロパティを取得または設定します。To get or set the Proxy property. 関連付けられた列挙型:UnrestrictedAssociated enumeration: Unrestricted

適用対象

こちらもご覧ください