使用邮递员,我可以获取XML数据: Postman image
但是,当我按照教程进行操作并使用SWIFT语言解析XML数据时,URL变为“无效”。 SWIFT parsing url code
请帮帮我。这怎么发生的?
testURL的格式为:testURL format
答案 0 :(得分:0)
从您的评论看来,URL()
返回了nil
-这表明它无法根据提供的字符串创建有效的URL。
您需要对URL进行百分比编码,以确保URL中不允许使用任何字符。
在这种情况下,它是EDI_NAME
参数中的\。即使您可能在字符串文字中使用了\\
,但\
在URL的查询字符串中还是无效的。
您可以使用addingPercentEncoding
的{{1}}方法来确保URL编码正确。
String
这将导致let stringURL = "http://some.host.com/net/WebService.aspx?Login=someUser@some.com&EncryptedPassword=XXXXXX&EDI_NAME=Generic\\Customers&Select_Columns=CustomerID&WHERE_Column=CustomerID&WHERE_Value=0000"
if let encodedString = stringURL.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed), let validURL = URL(string: encodedString) {
// Do something with validURL
} else {
print("Unable to create URL")
}
参数转换为EDI_NAME
-\已被百分比编码。
邮递员可能正在为您执行这种百分比编码,以使事情变得更容易。