2016-02-16 46 views
1

我有一個快速的應用程序。它將http請求發送到我無法訪問自己的服務器。如何在swift中正確添加http標題「Connection:close」?

當應用程序在後臺停留了一段時間,並且我返回並嘗試向服務器發送請求時,出現http錯誤「連接丟失」。

我讀這post

我要添加連接:關閉頁眉和價值的建議。

我曾嘗試這樣的代碼:

func taskForGETMethod(method: String, pathParameters: [String], parameters: [String : AnyObject], completionHandler: (result: AnyObject!, error: NSError?) -> Void) -> NSURLSessionDataTask { 

    /* 1. Build the URL and configure the request */ 
    let urlString = Constants.BaseURLSecure + method + HttpClient.escapedPath(pathParameters) + HttpClient.escapedParameters(parameters) 
    let url = NSURL(string: urlString)! 
    let request = NSURLRequest(URL: url) 
    request.setValue("Connection", forKey: "close") 

但所有我的要求的,現在失敗了。我如何正確添加標題?

+0

嗨。你如何解決這個問題? – Sarit

回答

0

如果你想操縱你需要使用NSMutableURLRequest HTTP標頭值和下面的API

func setValue(_ value: String?, forHTTPHeaderField field: String) 

像這樣

let url = NSURL(string: "http://yo", relativeToURL: nil) 
let req = NSMutableURLRequest(URL: url!) 
req.setValue("close", forHTTPHeaderField: "Connection") 

斯威夫特3

let url = URL(string: "http://yo", relativeTo: nil) 
let req = NSMutableURLRequest(url: url!) 
req.setValue("close", forHTTPHeaderField: "Connection") 
+0

蘋果郵件列表中有一個過時的(2005)主題,在這種情況下忽略了「連接」標題 - https://lists.apple.com/archives/macnetworkprog/2005/Oct/msg00037.html。不知道它是否仍然有效。 –

+1

這真的很有趣。我不知道'NSURLRequest'是否也是這樣。我應該看看實際的出站請求。 –

相關問題