当我运行对iTunes搜索API通过SSL进行查询,大部分的URL返回都通过HTTPS提供:iTunes搜索API - HTTPS artworkUrl?
https://itunes.apple.com/search?term=rihanna
然而,artworkUrl结果通过HTTP和更新它们手动抛出一个错误因为SSL证书在他们使用的域上不匹配。
有没有办法通过HTTPS而不是HTTP获取这些图片?
当我运行对iTunes搜索API通过SSL进行查询,大部分的URL返回都通过HTTPS提供:iTunes搜索API - HTTPS artworkUrl?
https://itunes.apple.com/search?term=rihanna
然而,artworkUrl结果通过HTTP和更新它们手动抛出一个错误因为SSL证书在他们使用的域上不匹配。
有没有办法通过HTTPS而不是HTTP获取这些图片?
iTunes不支持HTTPS(尚未)的专辑封面或歌曲预览。
过的工具,并链接到HTTPS的变化是最近(仅在四个月前): http://www.apple.com/itunes/affiliates/resources/blog/secure-links-to-itunes---content-and-tools.html
SO和Swift的新功能 - 无法解决这个问题,直到找到这个Q和上面的答案。以下为我工作:
func withHTTPS() -> URL? {
var components = URLComponents(url: self, resolvingAgainstBaseURL: true)
components?.scheme = "https"
let host = (components?.host)!
components?.host = host.replacingOccurrences(of: ".", with: "-ssl.", options: .caseInsensitive, range: host.range(of: "."))
return components?.url
}
使用称为:
guard let url = item.artworkURL.withHTTPS() else { return }
它已经好几年,因为这个答案被接受 - 有什么变化吗? – 2016-10-27 00:31:36
它看起来不像。我来这里试图找到使用ATP的应用程序中使用的https链接。 – Darren 2017-03-07 14:17:37