Почему curl возвращает 1, хотя параметр CURLOPT_RETURNTRANSFER установлен - PullRequest
0 голосов
/ 10 апреля 2019

это массив серверов, в котором я храню доменные имена и расширения верхнего уровня

защищенные $ серверы = массив (

    "com.tr" => "whois.nic.tr",
    "gen.tr" => "whois.nic.tr",
    "web.tr" => "whois.nic.tr",
    "k12.tr" => "whois.nic.tr",
    "org.tr" => "whois.nic.tr"
);

Мне необходимо получить информацию о Whois, поэтому я написал эту функцию

<code>function whois($domain,$ext)
{
           $server=$this->servers[$ext];
           $domain=$domain.".".$ext;

    if (function_exists('curl_version')) {
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $server);
        curl_setopt($curl, CURLOPT_PORT, 43);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_TIMEOUT, 5);
        curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $domain."\r\n");
        $result = curl_exec($curl);
        curl_close($curl);

                echo '<pre>';
                echo print_r($result);
                echo '
'; } еще { trigger_error ('cURL не найден!'); выход(); } }

Я использую этот способ Кто есть кто ( "Google", "ком");

Эта функция работает для google.com и дает мне правильную информацию о домене. Но когда я выполняю для google.org.tr, то (это интересная часть) иногда повторяется

No match found for "google.org.tr"(whis is expected)

 and  somethimes return "1"

@ обновление

    curl_setopt($curl, CURLOPT_URL, $server);
    curl_setopt($curl, CURLOPT_URL, "telnet://whois.web.tr:43");
    curl_setopt($curl, CURLOPT_PORT, 43);
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $domain."\r\n");
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, TRUE);
    curl_setopt($curl, CURLOPT_NOPROGRESS, TRUE);
    curl_setopt($curl, CURLOPT_PROTOCOLS, CURLPROTO_TELNET);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...