我用 fsockopen() 和 fread() 读取了一些 URL,我得到了这种数据:
<li
10
></li>
<li
9f
>asd</li>
d
<li
92
这完全搞砸了O_O
--
在使用 file _ get _ contents() 函数时,我得到了这种数据:
<li></li>
<li>asd</li>
哪个是对的!那么,到底哪里错了?我在我的 windows 服务器和 linux 服务器上试过,两者的行为都是一样的。他们甚至没有相同的 PHP 版本。
--
我的 PHP 代码是:
$fp = @fsockopen($hostname, 80, $errno, $errstr, 30);
if(!$fp){
return false;
}else{
$out = "GET /$path HTTP/1.1\r\n";
$out .= "Host: $hostname\r\n";
$out .= "Accept-language: en\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
$data = "";
while(!feof($fp)){
$data .= fread($fp, 1024);
}
fclose($fp);
感谢任何帮助/提示,现在一整天都在想:/
哦,我不能使用 fopen() 或 file_get_contents() 因为我的脚本运行的服务器没有启用 fopen 包装器> __ <
我真的很想知道如何解决这个问题,只是出于好奇。而且我认为无论如何我都不能在此服务器上使用任何额外的库。