Ios 可以通过“获取XML数据”;邮递员软件;但我无法通过SWIFT获取数据
使用Postman,我可以获取XML数据: 然而,当我遵循教程并使用SWIFT语言解析XML数据时,URL变得“无效”。 请帮帮我。这是怎么发生的Ios 可以通过“获取XML数据”;邮递员软件;但我无法通过SWIFT获取数据,ios,swift,xml,api,postman,Ios,Swift,Xml,Api,Postman,使用Postman,我可以获取XML数据: 然而,当我遵循教程并使用SWIFT语言解析XML数据时,URL变得“无效”。 请帮帮我。这是怎么发生的 testURL的格式如下:从您的评论中,似乎URL()正在返回nil-这表示它无法从提供的字符串创建有效的URL 您需要对URL进行百分比编码,以确保URL中不允许的任何字符 在本例中,它是EDI\u NAME参数中的\。即使您可能在字符串文本中使用了\\,但\在URL的查询字符串中无效 您可以使用String的addingPercentEnc
testURL的格式如下:从您的评论中,似乎
URL()
正在返回nil
-这表示它无法从提供的字符串创建有效的URL
您需要对URL进行百分比编码,以确保URL中不允许的任何字符
在本例中,它是EDI\u NAME
参数中的\。即使您可能在字符串文本中使用了\\
,但\
在URL的查询字符串中无效
您可以使用String
的addingPercentEncoding
方法来确保URL编码正确
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\u NAME
参数被转换为EDI\u NAME=Generic%5ccusters
-已对\进行百分比编码
邮递员可能正在为您执行此百分比编码,以使事情更简单。在控制台Xcode打印:“从读取字符串URL返回Nil”请将您的问题作为格式化文本而不是图像包含相关代码。从您的问题的当前内容和您的评论来看,
testURL
似乎没有包含正确格式的URL。它的价值是什么?谢谢你的回答。让我困惑的是,为什么邮递员可以解析“URL”,而swift不能?邮递员和swift代码中使用的URL是相同的,但我不能说至少看到了URL的某些内容。URL可能包含Swift需要URL编码(百分比编码)的字符,而邮递员会为您处理这些字符。我只能说,testURL
无效。哦,好吧,你的回答让我更清楚了。让我试试你提供的代码。谢谢你的回答。我很感激,它很有魅力。非常感谢,我很感激!!!!很高兴听到。既然我的答案对你有帮助,你应该点击“勾号”接受它。