PHP cURL grab_page ("") не работает для некоторых сайтов - PullRequest
0 голосов
/ 09 сентября 2018

Прежде всего, я не защищаю GoDaddy в любом случае.

То, что вы хотите заблокировать страну, не означает, что все так делают. Я имел обыкновение разрабатывать игры и имел игры, которые делали деньги из этих стран. Большинство из этих попыток взлома могут имитировать пользователей. Некоторые боты разыскиваются, потому что они сканируют ваши сайты, чтобы помочь вам показывать в поисковых системах.

1 Ответ

0 голосов
/ 09 сентября 2018

curl не всегда имеет обновленные корневые сертификаты SSL, как ваш браузер. Добавьте следующую опцию, чтобы преуспеть.

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

Код для функции grab_page становится таким.

function grab_page($site)
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($ch, CURLOPT_TIMEOUT, 40);
    curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
    curl_setopt($ch, CURLOPT_URL, $site);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    return curl_exec($ch);
}

echo grab_page("https://effect.ai/");
...