Share via


IWebProxy.GetProxy(Uri) 方法

定义

返回代理的 URI。

public:
 Uri ^ GetProxy(Uri ^ destination);
public Uri GetProxy (Uri destination);
public Uri? GetProxy (Uri destination);
abstract member GetProxy : Uri -> Uri
Public Function GetProxy (destination As Uri) As Uri

参数

destination
Uri

Uri,指定请求的 Internet 资源。

返回

Uri

一个 Uri 实例,其中包含用于联系 destination的代理的 URI;否则为 null 或 destination 自身。

示例

以下示例使用 GetProxy 方法返回 用于访问 Internet 资源的 URI HttpClient

WebProxy_Interface^ webProxy_Interface = gcnew WebProxy_Interface( gcnew Uri( "http://proxy.example.com" ) );

webProxy_Interface->Credentials = gcnew NetworkCredential( "myusername", "mypassword" );

Console::WriteLine( "The web proxy is : {0}", webProxy_Interface->GetProxy( gcnew Uri( "http://www.contoso.com" ) ) );

// Check if the webproxy can ne bypassed for the site "http://www.contoso.com".
if ( webProxy_Interface->IsBypassed( gcnew Uri( "http://www.contoso.com" ) ) )
{
   Console::WriteLine( "Web Proxy is by passed" );
}
else
{
   Console::WriteLine( "Web Proxy is not by passed" );
}
WebProxy_Interface webProxy_Interface = new WebProxy_Interface(new Uri("http://proxy.example.com"));

webProxy_Interface.Credentials = new NetworkCredential("myusername", "mypassword");

Uri testUri = new Uri("http://www.contoso.com");

// Determine whether the Web proxy can be bypassed for the site "http://www.contoso.com".
if(webProxy_Interface.IsBypassed(testUri))
{
    Console.WriteLine("Web Proxy is by passed");
}
else
{
    Uri? webProxyServer = webProxy_Interface.GetProxy(testUri);
    // In general, we wouldn't expect the condition (`webProxyServer! == testUri`) true here, if  IsBypassed returns `false`.
    // However, technically our interface can allow that.
    if (webProxyServer is null || webProxyServer! == testUri)
    {
        Console.WriteLine("Web proxy is bypassed");
    }
    else
    {
        Console.WriteLine("Web proxy is not bypassed");
        Console.WriteLine($"The web proxy is: {webProxyServer!}");
    }
}

 Public Shared Sub Main()
     Dim webProxy_Interface As New WebProxy_Interface(New Uri("http://proxy.example.com"))
     
     webProxy_Interface.Credentials = New NetworkCredential("myusername", "mypassword")
     
     Console.WriteLine("The web proxy is : {0}", webProxy_Interface.GetProxy(New Uri("http://www.contoso.com")))
     
     'Determine whether the Web proxy can be bypassed for the site "http://www.contoso.com".
 console.writeline("For the Uri http://www.contoso.com , the ")
     If webProxy_Interface.IsBypassed(New Uri("http://www.contoso.com")) Then
         Console.WriteLine("webproxy is by passed")
     Else
         Console.WriteLine("webproxy is not bypassed")
     End If 
 End Sub

注解

方法 GetProxy 返回代理服务器的 URI,该服务器处理对 参数中指定的 destination Internet 资源的请求。 GetProxy如果方法返回 null 或destination本身,则代理不用于联系主机,并且请求将直接传递到服务器。

适用于