php fsockopen 出错

使用官方例子:

<?php
set_time_limit(0);
$fp = fsockopen("www.t.com", 80, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    $out = "GET /t2.php HTTP/1.1\r\n";
    $out .= "Host: www.t.com\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp, $out);
    var_dump(fgets($fp));
    fclose($fp);
}
?>

运行环境:Windows。

运行后输出:boolean false

多次尝试,一直报错,为什么这代码跑不起来呢?

阅读 4.2k
1 个回答

换个地址吧,没这个域名的信息,换成segmentfault.com就没问题。

<?php
set_time_limit(0);
$fp = fsockopen("www.segmentfault.com", 80, $errno, $errstr, 30);
if (!$fp) {
    echo "$errstr ($errno)<br />\n";
} else {
    $out = "GET /index.html HTTP/1.1\r\n";
    $out .= "Host: www.segmentfault.com\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp, $out);
    var_dump(fgets($fp));
    fclose($fp);
}
?>

结果:
string(20) "HTTP/1.1 302 Found "
如果不行,要考虑环境问题了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题