使用 Alamofire 的 swift 3.0 中的 URL 问题

Posted

技术标签:

【中文标题】使用 Alamofire 的 swift 3.0 中的 URL 问题【英文标题】:Url issue in swift 3.0 using Alamofire 【发布时间】:2017-04-05 08:44:38 【问题描述】:

我正在尝试发送短信,而我的带有数字的网址是“http://api.appname.my/sendSms.php?message=hello&phone=687985http://api.appname.my/sendSms.php?message=hello&phone=687985”,所以它为什么要删除其他数字。这是我的代码

  number = number + "60149041982"

    let url = "http://api.appname.my/sendSms.php?message=hello&phone=\(number)"

    Alamofire.request(url).response (responseObject) -> Void in
    print(responseObject)

    

【问题讨论】:

您可能需要转义“***.com/questions/24551816/swift-encode-url 也值得一试:***.com/q/38732455/3927536 实际上不需要api开发者添加这个来分隔数字。 【参考方案1】:

我认为您应该将< 字符编码为%3C

let urlString = "http://api.appname.my/sendSms.php?message=hello&phone=\(number)"
let url = urlString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
print("Result: " + url!)

// Result: http://api.appname.my/sendSms.php?message=hello&phone=687985%3C6123488%3C60149041982

【讨论】:

以上是关于使用 Alamofire 的 swift 3.0 中的 URL 问题的主要内容,如果未能解决你的问题,请参考以下文章

POST 请求 Swift 3.0 Alamofire

如何使用参数 swift 3.0 Alamofire 4.0 调用邮政服务?

如何使用 Alamofire 在 Xcode 8 Swift 3.0 中获取特定的 JSON?

Alamofire Swift 3.0 调用中的额外参数

使用 Alamofire 的 swift 3.0 中的 URL 问题

使用 Alamofire 3.0+ 在 swift 2.2 中使用 JSON 对象发送 POST 请求