ios - Swift 参数中的 POST 需要符号 "&"

标签 ios swift post ampersand

我正在发帖,其中一个参数中包含必需的“&”。我已经为 &NSUTF8StringEncoding 以及 stringByAddingPercentEscapesUsingEncodqing(NSUTF8StringEncoding) 尝试了 %26。仍然无法正常工作。

let params = "designers=dolce%26gabbana"    
let nStr = params.stringByAddingPercentEscapesUsingEncodqing(NSUTF8StringEncoding)
let postData = nStr?.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)
request.HTTPBody = postData

我发布的字符串是“Dolce & Gabbana”,服务器只用“&”识别它。

谢谢!

最佳答案

您应该尝试使用 CFURLCreateStringByAddingPercentEscapes 因为 stringByAddingPercentEscapesUsingEncodqing 不会转义所有字符。通过使用 CFURLCreateStringByAddingPercentEscapes,您可以选择要转义的字符。

例子:

var encodedStr = CFURLCreateStringByAddingPercentEscapes(
    nil,
    "Dolce & Gabbana",
    nil,
    "&", //you can add another special characters
    CFStringBuiltInEncodings.UTF8.rawValue
)

Here is another SO question关于这个主题(在 Objective-C 中)

关于ios - Swift 参数中的 POST 需要符号 "&",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29710449/

相关文章:

ios - 调整 super View 大小时自动调整 subview 大小

node.js - Postman 向 NodeJS 中的 API 发出的 POST 请求中的正文为空(但不是来自自动化测试)

ruby-on-rails - Rails 和 ajax 请求 : not using csrf working?

ios - 在 Swift 中使用蓝牙耳机的麦克风和内置扬声器进行录音和播放

ios - 如何使用按钮动态地将单元格添加到我的 TableView 中

ios - 如何在 Swift 上向数组添加文本前缀?

swift - 如何根据条件停止按钮动画

javascript - 如何在发布功能后保持复选框保持选中状态

javascript - iPad 蓝牙键盘使用 onKeyUp 为任何键返回键码 0

ios - 在 Swift 中将数据传递给另一个 ViewController