fsockopen не работает правильно с if / else - PullRequest
1 голос
/ 26 ноября 2011

У меня есть этот код PHP

    $fp = @fsockopen($_SERVER['REMOTE_ADDR'], 80, $errno, $errstr, 1);

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

    fputs($fp, "GET $url HTTP/1.1\r\nHost: {$_SERVER['REMOTE_ADDR']}\r\nConnection: close\r\n\r\n");
    $resp = '';

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

    if (preg_match('/^http\/1\.\d+ 401/i', $resp)) {
        echo "Requires authentication";
    } else {
        echo "No auth required.";
    }
} else {
    echo "Failed to connect on port 80, reason: $errstr";
}

Я отредактировал эти строки

    } else {
    echo "Failed to connect on port 80, reason: $errstr";
}

Я только что написал 2 строки, чтобы проверить, $ $ errstr # Отказано в соединении

чтобы быть таким

        } else {
    if ($errstr != 'Connection refused') {
        echo "Ok;
    }  
}

Но код не работает правильно

Можете ли вы проверить, в чем проблема, пожалуйста?

Спасибо

...