设置了timeout 没有用,有时候会等很长时间,不知道是什么原因,google了一下,挺多人遇到这个问题,但没有找到解决方法。
//...
$fp = @fsockopen($ip, 80, $errno, $errstr, 2);//2s timeout
if (!$fp) {
echo "$errstr ($errno)<br>";
} else {
set_socket_blocking($fp, 0);
$out = "GET / HTTP/1.1\r\n";
$out .= "Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\r\n";
$out .= "Accept-Language: zh-cn\r\n";
$out .= "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0)\r\n";
$out .= "Accept-Encoding: gzip, deflate\r\n";
$out .= "Host: ".$domain."\r\n";
$out .= "Connection: Keep-Alive\r\n";
$out .="\r\n";
fputs($fp, $out);
stream_set_timeout($fp, 2);
while (!feof($fp)){
$content.=fgets($fp, 1024);
}
fclose($fp);
}
//...
$fp = @fsockopen($ip, 80, $errno, $errstr, 2);//2s timeout
if (!$fp) {
echo "$errstr ($errno)<br>";
} else {
set_socket_blocking($fp, 0);
$out = "GET / HTTP/1.1\r\n";
$out .= "Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\r\n";
$out .= "Accept-Language: zh-cn\r\n";
$out .= "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0)\r\n";
$out .= "Accept-Encoding: gzip, deflate\r\n";
$out .= "Host: ".$domain."\r\n";
$out .= "Connection: Keep-Alive\r\n";
$out .="\r\n";
fputs($fp, $out);
stream_set_timeout($fp, 2);
while (!feof($fp)){
$content.=fgets($fp, 1024);
}
fclose($fp);
}
解决方案 »
- 请问怎么把一个PHP数组放到这个JS里面啊?
- 关于PHP文件下载乱码(损坏)的问题
- 获取数组下标
- php调用java 时无法找到自己写的java类
- 用js做了一个自动生成php代码的小程序,希望对大家有些用处
- 如何提取这样数据结构的文件内容?
- 怎样获得vbb的cookie中的密码,本机
- 求教,ODBC连接解析不了服务器名
- 各位大虾,我学php没多久,想做一个php+mysql论坛,有没有什么好的代码可以下载我只想修改一下,从头编太累,而且效果也不会太好!
- 急。 我在apache环境下写的php可以运行,可以将数据库数据输出到网页上。 把文件放到IIS服务器下面。。什么东西都不出了。。什么原因?
- 不显示删除回复显示所有回复显示星级回复显示得分回复 如何让层不随着屏幕的分辨率的改变而改变
- css中定义高度自适应时IE和FF兼容问题
如果不行看看看是否是你和对方网络的连接问题:
打出返回的错误信息
$content.=fgets($fp, 1024);
}
这里超时,CURL的timeout可以做到,读到timeout时间没读完就返回错误。