检索Mac OS X代理IP地址

Mr *_*eph 6 c macos

我正在尝试以编程方式获取系统上的代理IP地址或URL集.
我在这里找到了可能适用于上一个问题的代码,但它在Objective-C中,我想要使用的是纯C.

我已经尝试将该obj-c代码翻译成C但没有成功.

任何人都知道如何在C中获得系统代理?

谢谢

小智 4

这是该答案的 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);
}
Run Code Online (Sandbox Code Playgroud)

它需要链接到两个框架:SystemConfiguration 和 CoreFoundation。

请注意,此代码获取自动代理配置 ( ) 的 URL(kSCPropNetProxiesProxyAutoConfigURLString如果有)。还有其他几种可能的代理,例如 HTTP 代理或 HTTPS 代理。有关所有可能代理的列表,请参阅SCSchemaDefinitions Reference