gpt4 book ai didi

php - 如何在 Swift 中发送带有变量的 POST 请求

转载 作者:搜寻专家 更新时间:2023-11-01 05:37:01 26 4
gpt4 key购买 nike

我正在尝试向 Web 服务器发送 POST 请求,但我尝试发送的值位于名为 temperatureValue 的变量中。 Web 服务器查找 POST 变量“temperature”。这就是我声明我的 postData 的方式。我如何传递这个变量?

let postData = NSMutableData(data: "temperature=temperatureValue".dataUsingEncoding(NSUTF8StringEncoding)!)

POST 的其余代码包含在下面,但我的主要问题是如何格式化上面的代码以允许我的变量 temperatureValue 保存到 postData 中。

//Assign the url post address, post the data to the php page
let request = NSMutableURLRequest(URL: NSURL(string: "http://pi.access.com/stateBlinds.php")!,
cachePolicy: .UseProtocolCachePolicy,
timeoutInterval: 10.0)
request.HTTPMethod = "POST"
request.HTTPBody = postData

let session = NSURLSession.sharedSession()
let dataTask = session.dataTaskWithRequest(request, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error)
} else {
let httpResponse = response as? NSHTTPURLResponse
print(httpResponse)
}
})

dataTask.resume()

最佳答案

您可以使用字符串插值:

let temperatureValue = 10.5
request.HTTPBody = "temperature=\(temperatureValue)".dataUsingEncoding(NSUTF8StringEncoding)

但是,如果 temperatureValue 是可选的,则您必须将其解包。

let temperatureValue: Double? = 10.5
let postString: String

if let value = temperatureValue {
postString = "temperature=\(value)"
} else {
postString = "temperature="
}
request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)

另请注意,这个非常简单的示例仅在处理非常简单的“值”时才有效(例如,只是没有空格或特殊字符的字母数字)。如果您采用此模式并尝试使用一般字符串,则必须对值进行百分号转义。但对于简单的数值,以上内容就足够了。

关于php - 如何在 Swift 中发送带有变量的 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35975457/

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