【发布时间】:2016-04-03 19:28:26
【问题描述】:
我向我的服务器发送带有数据的发布请求:
var syncData = "data=Hello&World"
let urlRequest = NSMutableURLRequest(URL: NSURL(string: url)!, cachePolicy: NSURLRequestCachePolicy.ReloadIgnoringCacheData, timeoutInterval: NSTimeInterval(60))
urlRequest.HTTPMethod = "POST"
urlRequest.HTTPBody = syncData.dataUsingEncoding(NSUTF8StringEncoding)
但是服务器无法解码&(ampersand) 字符的问题。在服务器上,我只得到“你好”这个词。这不是服务器问题。因为我试图用 java、python 和 curl 发送这个字符串。
一切正常。
我试过这个: NSXMLParser problem with "&"(Ampersand) character
但这无济于事......有什么想法吗?
【问题讨论】:
-
你能澄清一下到底发生了什么吗?
-
服务器只解码部分字符串。例如,如果字符串是 Hello&World,则在发布数据服务器中仅解码 hello...
-
你的数据没有正确编码,
&有特殊含义,需要转义,所以你的字符串应该是data=Hello%26World。