0
私はプロキシを設定しようとしています。以下は私のコードです。Web View Swiftでプロキシを設定するには?
func startLoading() {
let proxy_server: CFString = "abc.somecompanyname.com" // proxy server
let proxy_port: CFNumber = 1234 // port
//"request" is your NSURLRequest
let url: NSURL = request.URL!
let urlString: String = url.absoluteString
let urlStringRef: CFString = (urlString as CFString)
let myURL: CFURLRef = CFURLCreateWithString(kCFAllocatorDefault, urlStringRef, nil)
let requestMethod: CFString = "GET"//CFSTR("GET")
// let myRequest = CFHTTPMessageCreateRequest(kCFAllocatorDefault, "GET", myURL, kCFHTTPVersion1_1).takeRetainedValue()
let myRequest: CFHTTPMessageRef = CFHTTPMessageCreateRequest(kCFAllocatorDefault, requestMethod, myURL, kCFHTTPVersion1_1).takeRetainedValue()
//CFHTTPMessageCreateRequest(kCFAllocatorDefault, requestMethod, myURL, kCFHTTPVersion1_1)
httpMessageRef = CFHTTPMessageCreateCopy(kCFAllocatorDefault, myRequest).takeRetainedValue()
let myReadStream: CFReadStreamRef = CFReadStreamCreateForHTTPRequest(kCFAllocatorDefault, myRequest).takeRetainedValue()//CFReadStreamCreateForHTTPRequest(kCFAllocatorDefault, myRequest)
// You can add body, headers.... using core function api, CFNetwork.etc
// below code is to set proxy from code if needs }
var hostKey: NSString
var portKey: NSString
/*
if (url.scheme.lowercaseString == "https") {
hostKey = kCFStreamPropertyHTTPSProxyHost as NSString
portKey = kCFStreamPropertyHTTPSProxyPort as NSString
} else {
hostKey = kCFStreamPropertyHTTPProxyHost as NSString
portKey = kCFStreamPropertyHTTPProxyPort as NSString
}
*/
hostKey = kCFNetworkProxiesHTTPProxy as NSString
portKey = kCFNetworkProxiesHTTPPort as NSString
let proxyToUse: [NSObject : AnyObject] = [
hostKey : proxy_server,
portKey : proxy_port
]
CFReadStreamSetProperty(myReadStream, kCFNetworkProxiesHTTPProxy, proxyToUse)
CFReadStreamOpen(myReadStream)
}
私はプロキシを設定するのが間違っていますか教えてください。
CFReadStreamCreateForHTTPRequest
は廃止されました。その代わりに、どうすればよいですか。私はプロキシ関連のものについては未熟ですので、同じことについてもっと深く知ってもらい、より良い方法でこれを処理するように私に提案してください。
おかげ
私は元のプロキシ(IPアドレスとポート)を隠すios aapを作成したいと思いますが、その場合は動作しますか?私はそれをどのように実装できますか? – ShreePool