There were some pretty substantial changes made to the way 
SCNetworkReachability works under the covers in 10.11 to address issues like 
this. The solution that Jens provided is a pretty good approximation for older 
systems.

If you do add smarts to handle proxies with reachability, it may be wise to 
only use it prior to 10.11.

-josh

> On May 23, 2016, at 5:12 AM, Yulia Bensman <[email protected]> wrote:
> 
> Thanks for everyone,
> But maybe – if it works correct in 10.11, maybe there is any means to make it 
> working in other versions of Mac OS?
>  
> From: Jens Alfke [mailto:[email protected]] 
> Sent: Sunday, May 22, 2016 6:51 PM
> To: Yulia Bensman
> Cc: [email protected]
> Subject: Re: How SCNetworkReachability works with proxy and no DNS resolving?
>  
> In my code, I check whether the server’s address requires a proxy. If so, I 
> use the reachability API only to check whether an Internet connection is 
> available, and then try to connect.
>  
> Here’s the code I use to check for a proxy:
>  
> + (BOOL) usingProxyForURL: (NSURL*)url {
>     NSDictionary* settings = 
> CFBridgingRelease(CFNetworkCopySystemProxySettings());
>     NSArray* proxies = CFBridgingRelease(CFNetworkCopyProxiesForURL((__bridge 
> CFURLRef)url,
>                                                                     (__bridge 
> CFDictionaryRef)settings));
>     for (NSDictionary* proxy in proxies) {
>         if (![proxy[(id)kCFProxyTypeKey] isEqual: (id)kCFProxyTypeNone])
>             return YES;
>     }
>     return NO;
> }
> 
> 
> —Jens
> 
> 
> 
> 
> ************************************************************************************
> This footnote confirms that this email message has been scanned by
> PineApp Mail-SeCure for the presence of malicious code, vandals & computer 
> viruses.
> ************************************************************************************
> 
> = 
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Macnetworkprog mailing list      ([email protected])
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/macnetworkprog/jgraessley%40apple.com
> 
> This email sent to [email protected]


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Macnetworkprog mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/macnetworkprog/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to