【发布时间】:2019-05-30 22:38:28
【问题描述】:
现在它看起来像个谜。请帮我解决它。
我使用 iTunes 公共 API 获取专辑:Metallica 的“Metallica”(在浏览器中查看:US region、MV region)。我构建了以下 URL 以通过 API 获取它:
- 美国地区https://itunes.apple.com/lookup?id=579372950&country=US&entity=album - 有效
- MV 区域https://itunes.apple.com/lookup?id=579372950&country=MV&entity=album - 不起作用
这是我观察到的实际行为:
-
如果我在 Spring 应用程序中查询
GET https://itunes.apple.com/lookup?id=579372950&country=MV&entity=album(使用RestTemplate+ JacksonHttpMessageConverter),我得到一个空响应:{ "resultCount":0, "results": [] } -
如果我在浏览器中导航到https://itunes.apple.com/lookup?id=579372950&country=MV&entity=album,我会收到文件下载提示。该文件包含一个空响应:
{ "resultCount":0, "results": [] } -
如果我使用 HttpPie
http get https://itunes.apple.com/lookup?id=579372950&country=MV&entity=album查询 API,我会得到一个非空响应!!!{ "resultCount": 1, "results": [ { "amgArtistId": 4906, "artistId": 3996865, "artistName": "Metallica", "artistViewUrl": "https://music.apple.com/us/artist/metallica/3996865?uo=4", "artworkUrl100": "https://is1-ssl.mzstatic.com/image/thumb/Music/v4/0b/9c/d2/0b9cd2e7-6e76-8912-0357-14780cc2616a/source/100x100bb.jpg", "artworkUrl60": "https://is1-ssl.mzstatic.com/image/thumb/Music/v4/0b/9c/d2/0b9cd2e7-6e76-8912-0357-14780cc2616a/source/60x60bb.jpg", "collectionCensoredName": "Metallica", "collectionExplicitness": "notExplicit", "collectionId": 579372950, "collectionName": "Metallica", "collectionPrice": 9.99, "collectionType": "Album", "collectionViewUrl": "https://music.apple.com/us/album/metallica/579372950?uo=4", "copyright": "℗ 1991 Blackened Recordings", "country": "USA", "currency": "USD", "primaryGenreName": "Metal", "releaseDate": "1991-08-12T07:00:00Z", "trackCount": 13, "wrapperType": "collection" } ] }
我尝试了多次,结果似乎是一致的。我比较了请求,它们似乎是相同的。
为什么 iTunes 对不同客户端的响应不同?我无法理解。我遗漏了哪些重要的细节?
类似问题:
- Spring RestTemplate getForObject URL not working for Apple iTunes - 还有另一个问题(空格字符的双重编码)。
这个问题发生在以下地区(这是一个完整的列表):
- 李https://itunes.apple.com/lookup?id=579372950&country=LI&entity=album
- MV https://itunes.apple.com/lookup?id=579372950&country=MV&entity=album
- MMhttps://itunes.apple.com/lookup?id=579372950&country=MM&entity=album
- ET https://itunes.apple.com/lookup?id=579372950&country=ET&entity=album
- RShttps://itunes.apple.com/lookup?id=579372950&country=RS&entity=album
【问题讨论】:
标签: http request itunes-store apple-music