dongzhou5344 2011-11-29 17:20
浏览 172
已采纳

如何修复fsockopen错误?

Please help me to fix my code

$fp = fsockopen("projecthoneypot.org/statistics.php", 80, $errno, $errstr, 5);

if ($fp) {
    $url = "/";

    fputs($fp, "GET $url HTTP/1.1
Host: {projecthoneypot.org/statistics.php}
Connection: close

");
    $resp = '';

    while(!feof($fp)) {
        $resp .= fgets($fp, 1024);
    }

    echo "$resp";
}

I always get this error

Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/xxx/public_html/xxx.php on line 3

Warning: fsockopen() [function.fsockopen]: unable to connect to projecthoneypot.org\statistics.php:80 (php_network_getaddresses: getaddrinfo failed: Name or service not known) in /home/xxx/public_html/xxx.php on line 3

What is the problem please?

  • 写回答

1条回答 默认 最新

  • dongniaoli1822 2011-11-29 17:25
    关注

    With fsockopen, you need to pass only the ip/hostname.

    Try changing:

    $fp = fsockopen("projecthoneypot.org/statistics.php", 80, $errno, $errstr, 5);
    // to
    $fp = fsockopen("projecthoneypot.org", 80, $errno, $errstr, 5);
    

    As part of your HTTP request, Host: should just be projecthoneypot.org, not projecthoneypot.org/statistics.php.

    $url should probably be /statistics.php

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?