【发布时间】:2017-07-20 06:31:44
【问题描述】:
我正在尝试使用 PHP 和 JQuery 从 Shoutcast 服务器获取歌曲历史记录。我对一个 php 文件执行了 ajax 调用,该文件包含从流服务器获取最近播放的歌曲的代码。Jquery 写在我的应用程序文件夹中
jquery:
$.ajax({
type: "GET",
url: "http://example.com/recent_songs.php",
headers: {'Access-Control-Allow-Origin': '*'},
success: function(response){
console.log(response);
return false;
},
error: function(error){
console.log(error);
console.log("Network Error!");
}
});
PHP 文件与 Jquery 文件位于不同的服务器上。
PHP (recent_songs.php):
$handle = '';
$handle = get_data();
function get_data() {
$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0' );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 4);
curl_setopt($ch, CURLOPT_TIMEOUT, 8);
$data_string = "";
function write_function($handle, $data) {
global $data_string;
$data_string .= $data;
if (strlen($data_string) > 200) {
return 0;
}
else {
return strlen($data);
}
}
curl_setopt($ch, CURLOPT_URL, 'ip:port/played.html');
$data = curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($code!='200'){
return 'error';
}else{
return 'success';
}
它总是返回 http 代码 0 和来自直播服务器的空响应。但是,当我在浏览器中运行此网址时:ip:port/played.html 它会在那里显示完整的歌曲历史记录。有什么想法可以从广播服务器获得响应。
我们将不胜感激任何形式的帮助。谢谢!
【问题讨论】:
-
大概
ip:port只是占位符,而您实际上使用的是IP 地址和端口号? -
是的,我实际上是在使用 ip 地址和端口号进行广播。