System.Net.CFNetwork.GetProxiesForAutoConfigurationScript C# (CSharp) Метод

GetProxiesForAutoConfigurationScript() публичный статический Метод

public static GetProxiesForAutoConfigurationScript ( IntPtr proxyAutoConfigurationScript, CFUrl targetURL ) : System.Net.CFProxy[]
proxyAutoConfigurationScript IntPtr
targetURL CFUrl
Результат System.Net.CFProxy[]
		public static CFProxy[] GetProxiesForAutoConfigurationScript (IntPtr proxyAutoConfigurationScript, CFUrl targetURL)
		{
			if (proxyAutoConfigurationScript == IntPtr.Zero)
				throw new ArgumentNullException ("proxyAutoConfigurationScript");
			
			if (targetURL == null)
				throw new ArgumentNullException ("targetURL");
			
			CFArray array = CopyProxiesForAutoConfigurationScript (proxyAutoConfigurationScript, targetURL);
			
			if (array == null)
				return null;
			
			CFProxy[] proxies = new CFProxy [array.Count];
			for (int i = 0; i < proxies.Length; i++) {
				CFDictionary dict = new CFDictionary (array[i], false);
				proxies[i] = new CFProxy (dict);
			}

			array.Dispose ();
			
			return proxies;
		}
		

Same methods

CFNetwork::GetProxiesForAutoConfigurationScript ( IntPtr proxyAutoConfigurationScript, Uri targetUri ) : System.Net.CFProxy[]

Usage Example

Пример #1
0
            static Uri GetProxyUriFromScript(IntPtr script, Uri targetUri)
            {
                CFProxy[] proxies = CFNetwork.GetProxiesForAutoConfigurationScript(script, targetUri);

                if (proxies == null)
                {
                    return(targetUri);
                }

                for (int i = 0; i < proxies.Length; i++)
                {
                    switch (proxies[i].ProxyType)
                    {
                    case CFProxyType.HTTPS:
                    case CFProxyType.HTTP:
                    case CFProxyType.FTP:
                        // create a Uri based on the hostname/port/etc info
                        return(GetProxyUri(proxies[i]));

                    case CFProxyType.SOCKS:
                    default:
                        // unsupported proxy type, try the next one
                        break;

                    case CFProxyType.None:
                        // no proxy should be used
                        return(targetUri);
                    }
                }

                return(null);
            }