iOS 获取代理设置

2024-04-14

在我的项目中,我使用 libcurl 通过互联网下载数据。问题是 libcurl 无法检测 wifi 连接的代理设置。

我必须手动设置 libcurl 的设置,所以我想知道如何获取 wifi 连接的代理设置。我在钥匙串中找到了一些有关信息的线索,但无法检索它们。

您知道是否有办法获取此设置,以便我可以为 libcurl 设置它们?

Thanks !


我找到了回应!

使用这段代码似乎有效:

std::string getProxyName()
{
    CFDictionaryRef dicRef = CFNetworkCopySystemProxySettings();
    const CFStringRef proxyCFstr = (const CFStringRef)CFDictionaryGetValue(dicRef, (const void*)kCFNetworkProxiesHTTPProxy);
    char buffer[4096];
    memset(buffer, 0, 4096);
    if (CFStringGetCString(proxyCFstr, buffer, 4096, kCFStringEncodingUTF8))
    {
        return std::string(buffer);
    }
    return "";
}


int CDownloadThread::getProxyPort()
{
    CFDictionaryRef dicRef = CFNetworkCopySystemProxySettings();
    const CFNumberRef portCFnum = (const CFNumberRef)CFDictionaryGetValue(dicRef, (const void*)kCFNetworkProxiesHTTPPort);

    SInt32 port;
    if (CFNumberGetValue(portCFnum, kCFNumberSInt32Type, &port))
    {
        return port;
    }
    return -1;
}

我还没有尝试过自动代理配置,但我希望它能正常工作!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS 获取代理设置 的相关文章

随机推荐