为什么用file_get_contents函数读取webpresence.qq.com的内容会失败?

来源:百度知道 编辑:UC知道 时间:2024/09/23 06:57:54
在PHP环境运行:
echo file_get_contents('http://webpresence.qq.com/getonline?Type=1&123456:');

显示:
Warning: file_get_contents(http://webpresence.qq.com/getonline?Type=1&123456:): failed to open stream: HTTP request failed! in XXXXXXXX on line 7

而将“http://webpresence.qq.com/getonline?Type=1&123456:”换成其他的URL(如:echo file_get_contents('http://www.163.com');)则正常,为什么?

请问,用PHP在服务器端获取某个QQ号的在线状态,还有别的办法吗?

<?php
$ifonline='';
$fp = fsockopen("webpresence.qq.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET /getonline?Type=1&277348664: HTTP/1.1\r\n";
$out .= "Host: webpresence.qq.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
$ifonline .=fgets($fp, 128);
}
fclose($fp);
echo substr($ifonline,-12);
}
?>