ios - 如何在 swift 中正确添加 http header "Connection :close"?

标签 ios xcode swift http

我有一个快速的应用程序。它将 http 请求发送到我自己无法访问的服务器。

当应用程序在后台运行一段时间,然后我返回并尝试向服务器发送请求时,我收到 http 错误“连接丢失”。

我读了这个post

我想按照建议添加连接:关闭 header 和值。

我尝试过这段代码:

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")

但是我所有的请求现在都失败了。如何正确添加标题?

最佳答案

如果你想操作 http header 值,你需要使用 NSMutableURLRequest 和以下 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")

swift 3

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

关于ios - 如何在 swift 中正确添加 http header "Connection :close"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35441584/

相关文章:

ios - Mapkit中如何增加userLocation标注的半径

ios - 如何获取 View 边距的大小?

xcode - Xcode 9.2 中的 "Warning: unable to build chain to self-signed root for signer"警告

c++ - SIGBART 错误 vector<list<myClass>>

iphone - 如何异步渲染 UIImage?

ios - 按下主页按钮时暂停 Sprite Kit 场景

ios - 我可以在不失败的情况下进行 XCTest Expectation 吗?

swift - EXC_BAD_INSTRUCTION 评估 bool 比较

swift - 我应该使用什么样的 GCD 队列或计时器来实现去抖动功能

ios - 注销后如何重新加载 Root View Controller ?