我正在尝试以编程方式获取系统上的代理IP地址或URL集. 我发现代码可能在之前的问题 here中有效,但是它在Objective-C中,而我想要使用的是简单的C. 我已经尝试将该obj-c代码翻译成C但没有成
我发现代码可能在之前的问题 here中有效,但是它在Objective-C中,而我想要使用的是简单的C.
我已经尝试将该obj-c代码翻译成C但没有成功.
任何人都知道如何在C中获得系统代理?
谢谢
这是 that answer的C翻译:CFDictionaryRef proxies = SCDynamicStoreCopyProxies(NULL); if (proxies) { CFStringRef pacURL = (CFStringRef)CFDictionaryGetValue(proxies, kSCPropNetProxiesProxyAutoConfigURLString); if (pacURL) { char url[257] = {}; CFStringGetCString(pacURL, url, sizeof url, kCFStringEncodingASCII); // do something with url } CFRelease(proxies); }
它需要链接到两个框架:SystemConfiguration和CoreFoundation.
请注意,此代码获取自动代理配置(kSCPropNetProxiesProxyAutoConfigURLString)的URL(如果有).还有其他几种可能的代理,例如HTTP代理或HTTPS代理.有关所有可能代理的列表,请参阅SCSchemaDefinitions Reference.