php - 如何修复 fsockopen 错误?

标签 php fsockopen

请帮我修复我的代码

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

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

    fputs($fp, "GET $url HTTP/1.1\r\nHost: {projecthoneypot.org/statistics.php}\r\nConnection: close\r\n\r\n");
    $resp = '';

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

    echo "$resp";
}

我总是收到此错误

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

请问是什么问题?

最佳答案

使用 fsockopen,您只需传递 ip/主机名。

尝试改变:

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

作为 HTTP 请求的一部分,Host: 应该是projecthoneypot.org,而不是projecthoneypot.org/statistics.php。

$url 应该是/statistics.php

关于php - 如何修复 fsockopen 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8314945/

相关文章:

php - 将 require 语句与 if/else if 语句一起使用

php 5.1.6 json_encode 和 codeigniter

PHP更新数据库

php - 什么阻止了 fsockopen?

php - 文件获取内容或 fsockopen - 超时问题

php - 如何通过php设置链接url?

php - 使用 pdo 时数据未插入数据库

php - 尝试使用 fsockopen() 连接 SSL 服务器

php - 当主机无法访问时,fsockopen 会导致 fatal error - "unable to connect to"

php - 将 fsockopen 与代理一起使用