gpt4 book ai didi

ios - 我应该使用 CharacterSet 还是 URLQueryItem?

转载 作者:可可西里 更新时间:2023-10-31 23:57:29 24 4
gpt4 key购买 nike

我在尝试调用一个包含特殊字符的 url 字符串请求时遇到了一些问题。例如,对于 CharacterSet,当 URL 中的 %20 表示空格键并且我使用 addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) 函数时,它被替换为 %2520。你们能试试这段代码吗:

    let url = "http://analytics.abc.io/acct?start_date=2017-11-15&aff=ABC%20Telecom"
url.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
print(URL(string: url.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!)!)

其实是请求成功了,但是返回的数据是错误的。任何人都可以给我一些想法以及如何清楚地解决这个问题。

除此之外,请给我一些关于 URLQueryItem 的评论,我没有使用它,所以我需要你的帮助。感谢和欢呼!

最佳答案

老实说,如果使用 URLComponents 进行分解,会不会好 100%。这将方便您和下一个开发人员阅读代码的工作。

let host = "analytics.abc.io"
let scheme = "http"
let path = "/acct"
var urlQueryItems : [URLQueryItem] = []
for (key, value) in [("start_date", "2017-11-15"), ("aff", "ABC Telecom")] {
urlQueryItems.append(URLQueryItem(name: key, value: value))
}

var result = URLComponents()
result.host = host
result.scheme = scheme
result.path = path
result.queryItems = urlQueryItems

print(result.url)
//prints : Optional(http://analytics.abc.io/acct?start_date=2017-11-15&aff=ABC%20Telecom)

关于ios - 我应该使用 CharacterSet 还是 URLQueryItem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48377876/

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