Условие PHP CURL с откликом httpcode - PullRequest
0 голосов
/ 19 ноября 2018

Я пытаюсь добавить условие в мой код PHP CURL, чтобы продолжить выполнение curl, пока я не получу httpcode = 200, когда получу плохой ответ шлюза, потому что у сайта высокий трафик, и, если get httpcode 200 выполнит какую-то инструкцию.

так что я пытаюсь с моим кодом, но это не помогает.

    <?php

    $ch = curl_init("https://example.com/index.php");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    //curl_setopt($ch, CURLOPT_PROXY, '151.80.143.155:53281');
    curl_setopt($ch, CURLOPT_COOKIEJAR, 'C:\AppServ\www\cloud\cookie.txt');
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.53 Safari/537.36');
    curl_exec($ch);

    $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

        while(true){
            if($http !== 200){
                curl_exec($ch);
            curl_close($ch);
            sleep(8);
            }

            else{
            // Do some instruction ...
        sleep(8);
        }
        }

    curl_close($ch);


?>

Пожалуйста, ребята, как я могу сделать это условие?

спасибо, ребята.

1 Ответ

0 голосов
/ 19 ноября 2018

Я думаю, вы просто неправильно назвали переменную. Вы проверяете $http, в то время как вы должны проверять $httpcode

<?php

$ch = curl_init("https://example.com/index.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//curl_setopt($ch, CURLOPT_PROXY, '151.80.143.155:53281');
curl_setopt($ch, CURLOPT_COOKIEJAR, 'C:\AppServ\www\cloud\cookie.txt');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.53 Safari/537.36');
curl_exec($ch);

$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
while(true){
    if($httpcode !== 200){ // This line was wrong
        curl_exec($ch);
        curl_close($ch);
        sleep(8);
    } else{
        // Do some instruction ...
        sleep(8);
        break;
    }
}

curl_close($ch);

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...