来自 Spotify 的 PHP cURL json 响应
Posted
技术标签:
【中文标题】来自 Spotify 的 PHP cURL json 响应【英文标题】:PHP cURL json response from Spotify 【发布时间】:2015-11-24 05:27:22 【问题描述】:我正在尝试从 Spotify API 获取信息。在我的浏览器中访问此 URL 时,一切正常; https://api.spotify.com/v1/search?q=Led%20Zeppelin%20Kashmir&type=track
但是,然后我使用此代码尝试获取我刚刚获得白页的数据。我用谷歌搜索过 ***,但仍然没有雪茄。有谁知道为什么这段代码不起作用?
感谢您对此的任何帮助。
$artist = 'Led Zeppelin';
$title = 'Kashmir';
$spotifyURL = 'https://api.spotify.com/v1/search?q='.$artist.'%20'.$title.'&type=track';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $spotifyURL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:x.x.x) Gecko/20041107 Firefox/x.x");
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$json = curl_exec($ch);
$json = json_decode($json);
curl_close($ch);
echo '<pre>'.print_r($json, true).'</pre>';
【问题讨论】:
开启 php 错误? PHP 错误已启用。不返回任何错误。 检查页面是否重定向,如果是,curl中有一个选项来跟踪重定向。artist
和 $title
需要在 URL 中进行 urlencoded。在这种情况下,问题是Led Zeppelin
中的空格。
【参考方案1】:
您的网址包含空格。请改用以下行:
$spotifyURL = 'https://api.spotify.com/v1/search?q='.urlencode($artist.' '.$title).'&type=track';
【讨论】:
你完全正确!谢谢!这为我解决了。以上是关于来自 Spotify 的 PHP cURL json 响应的主要内容,如果未能解决你的问题,请参考以下文章
我正在使用 php 通过 PHP 和客户端凭据流连接到 spotify 的 API
多参数 curl 请求 Python、Spotify API
Spotify:发布到 api/token 给出了错误的请求,但在 curl 中工作