2014-12-17 5 views
5

저는 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) 

을하지만 해당 서버를 조회해야하는 경우 내 아이폰 장치에 설치 프록시에 필요
나는 다음과 같은 코드를 사용하여 서버를 조회하려합니다. 이제 Swift 코드 자체에서 http 프록시 (서버 및 포트)를 설정하고 싶습니다.

나는 애플 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) 

는 사람이 어떻게 설정 프록시 proxies를 사용하는 방법을 가르쳐 주시겠습니까?
감사합니다.

답변

1

CFProxySupport 프레임 워크는 장치에 구성된 프록시를 검색하기 위해 응용 프로그램을 할 수 있습니다. 이러한 프록시 구성 중 일부는 실제로 자동 프록시 구성 URL/스크립트 일 수 있습니다. 따라서 CFNetworkCopyProxiesForURL은 이러한 스크립트를 평가하여 지정된 URL에 적용되는 프록시를 결정할 수 있습니다.

CFProxySupport에서는 장치에서 사용할 프록시를 구성 할 수 없습니다. 또한 NSURLConnection은 장치 프록시 설정을 따르지 않습니다. 구성된 코드를 검색하고 프록시 서버 사용을 지원하는 라이브러리 (예 : NSURLSession 또는 AFNetworking)와 함께이 코드를 사용해야하는 코드를 사용할 수 있습니다. NSURLSession에서 NSURLSessionConfiguration 객체의 connectionProxy 사전에 프록시 구성을 지정합니다.

관련 문제