我有一个问题,即不了解何时编码URL或只是替换char的出现。该应用程序运行良好并升级到swift 3,服务器现在提供无效用户帐户的响应。
以下是代码:
userEmail: String = "myEmail+a@gmail.com"?
let body : String = ("username=\(userEmail!)&password=\("thePassword")")
var request = NSMutableURLRequest()
request = NSMutableURLRequest(url: URL(string:"https://team.mycompany.com/teambeta/LoginApp")!)
request.httpMethod = "POST"
request.httpBody = body.data(using: String.Encoding.utf8)
所以有问题的电子邮件包含一个“+”,因为我需要创建多个用户帐户,以便使用唯一的电子邮件地址进行测试。因此,我使用的是一个Gmail帐户并添加“+”,以便所有电子邮件都转到单个电子邮件地址。知道“+”功能的用户也可能会创建用户帐户,所以我需要解决这个问题,而不仅仅是为了测试目的。
myEmail@gmail.com
myEmail+a@gmail.com
myEmail+b@gmail.com
所以我的问题是,如果我这样做:
request.httpBody = body.data(using: String.Encoding.utf8)
我会将身体改为:
username=myEmail%2ba@gmail.com&password=thePassword
或者我首先需要替换这样的文本:
userEmail = userEmail?.replacingOccurrences(of: "+", with: "%2b")
如果我只是替换文本,那么我就不必编码了。
很抱歉,如果它是一个重复的问题,因为我还没有在其他问题上找到答案。