gpt4 book ai didi

ios - 卡住将 NSDictionary 转换为 POST 字符串

转载 作者:可可西里 更新时间:2023-11-01 01:06:22 25 4
gpt4 key购买 nike

所以我正在尝试从我的 iOS 设备向我的服务器发出异步 POST 请求。

这是我编写的 Swift 代码:

    var urlString = "https://eamorr.com/ajax/login.php"
var url = NSURL(string: urlString)
var request = NSMutableURLRequest(URL: url!)
request.HTTPMethod = "POST"
var params = ["uname":"Eamorr", "pword":"mySecret"] as Dictionary<String, String>
request.HTTPBody = params. //what to do here???
var connection = NSURLConnection(request: request, delegate: self, startImmediately: true)

问题是,如何(可靠地)将参数转换为 POST 字符串? (我的服务器需要普通的旧 POST 参数...没什么特别的 - 没有 JSON 等)

我需要它非常可靠(即不是 hack),所以我更希望有一些我可以使用的基类(由 Apple 编写)。

有没有人有什么想法?

最佳答案

bbarnhart 建议的一些内容,但要实际创建正文数据,请使用:

let body = "&".join(map(params, {
let key = $0.0.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)
let value = $0.1.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)
return "\(key!)=\(value!)"
}))
request.HTTPBody = body.dataUsingEncoding(NSUTF8StringEncoding)

基本上将每一项转义并转换为“key=value”,然后将它们全部串在一起,用“&”分隔

您还(可能)需要按照 bbarnhart 的建议设置 Content-Type header :

request.addValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")

关于ios - 卡住将 NSDictionary 转换为 POST 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28409781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com