我正在尝试创建一个脚本,该脚本将登录到 Icecast2 服务器并获取当前播放曲目的元数据。我的问题是 Icecast 服务器通过基本的 HTTP 登录受到用户/密码保护。
<?php
$fp = fsockopen("xxxxxxxx.com", 8000, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Icy-MetaData:1\r\n";
$out .= "Host: xxxxxxxx.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
$arr = array();
while (!feof($fp)) {
$arr[] = fgets($fp, 128);
}
fclose($fp);
}
echo json_encode(trim(strip_tags($arr[73])));
?>
这是允许我在 Icecast 服务器受密码保护之前获取元数据的脚本。
简而言之,如何通过此脚本向 Icecast 服务器发送用户/密码以成功登录并获取信息?(使用 htpasswd)
提前致谢!