如何在Swift中设置代理?

use*_*896 6 proxy ios swift

我刚开始使用iOS技术,并使用Swift开发iPhone应用程序.
我正在尝试使用以下代码查询服务器:

var url = NSURL(string: "http://someurl:8080/?type=Refresh")
var request = NSURLRequest(URL: url!)
var connection = NSURLConnection(request: request, delegate: self, startImmediately: true)
Run Code Online (Sandbox Code Playgroud)

但是如果我需要查询该服务器,我需要在我的iPhone设备上设置代理.所以现在我想在Swift代码本身中设置http代理(服务器和端口).

我查看了Apple的CFProxySupport Reference,但没有理解我该如何使用它.我写了以下代码到现在为止:

var proxy_server: CFString = “proxy” // proxy server
var proxy_port: CFNumber = 8080 // port

var keys: [CFStringRef] = [kCFProxyTypeKey, kCFProxyHostNameKey, kCFProxyPortNumberKey]
var values: [CFTypeRef] = [kCFProxyTypeHTTP, proxy_server, proxy_port]

var proxy_dict: CFDictionary = CFDictionaryCreate(
    kCFAllocatorDefault,
    UnsafeMutablePointer<UnsafePointer<Void>>(keys),
    UnsafeMutablePointer<UnsafePointer<Void>>(values),
    3,
    nil,
    nil)

var proxies: Unmanaged<CFArray> = CFNetworkCopyProxiesForURL(NSURL(string: "http://someurl:8080"), proxy_dict)
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我如何使用proxies设置代理?
谢谢!

Pau*_*w11 2

CFProxySupport框架允许您的应用程序检索已在设备中配置的代理。其中一些代理配置实际上可能是自动代理配置 URL/脚本 - 因此CFNetworkCopyProxiesForURL可以评估这些脚本以确定适用于指定 URL 的代理。

CFProxySupport不允许您配置设备将使用的代理。此外,NSURLConnection不尊重设备代理设置。您可以使用所需的代码来检索已配置的代理,然后将其与支持使用代理服务器的库(例如 NSURLSession 或 AFNetworking)一起使用。在 NSURLSession 中,您在NSURLSessionConfiguration对象connectionProxy的字典中指定代理配置