Сбой запроса PHP CURL WebHost с ошибкой 7 - PullRequest
0 голосов
/ 24 мая 2018

У меня проблемы с подключением к сайту Google с моего веб-хоста (1 и 1) при попытке проверить ответ ReCaptcha.Я использую PHP и CURL для установления соединения.

Если я беру один и тот же фрагмент кода и запускаю локально, он работает нормально и получает ожидаемый ответ.

Я не слишком знаком с PHP и CURL, поэтому любая помощь в том, что я должен попробовать / сделать, будет принята с благодарностью.

Фрагмент кода выглядит следующим образом:

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

$CaptchaSecretKey="MySecretKey";
$uCaptchaR="CaptchaResponse";

$curl = curl_init();

$captcha_verify_url = "https://www.google.com/recaptcha/api/siteverify";

curl_setopt($curl, CURLOPT_URL,$captcha_verify_url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, "secret=".$CaptchaSecretKey."&response=".$uCaptchaR);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,1);
curl_setopt($curl, CURLOPT_CAINFO, 'cacert.pem');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($curl, CURLOPT_VERBOSE, true);

$captcha_output = curl_exec ($curl);

var_dump($captcha_output);
echo nl2br("\n");
echo nl2br("\n");
var_dump(curl_getinfo($curl));
echo nl2br("\n");
echo nl2br("\n");
echo curl_errno($curl);
echo nl2br("\n");
echo nl2br("\n");
echo curl_error($curl);

curl_close ($curl);
?>

Вывод из кода выглядит следующим образом:

    bool(false) 

array(26) { ["url"]=> string(47) "https://www.google.com/recaptcha/api/siteverify" ["content_type"]=> NULL ["http_code"]=> int(0) ["header_size"]=> int(0) ["request_size"]=> int(0) ["filetime"]=> int(-1) ["ssl_verify_result"]=> int(0) ["redirect_count"]=> int(0) ["total_time"]=> float(20.375) ["namelookup_time"]=> float(1.0E-6) ["connect_time"]=> float(0) ["pretransfer_time"]=> float(0) ["size_upload"]=> float(0) ["size_download"]=> float(0) ["speed_download"]=> float(0) ["speed_upload"]=> float(0) ["download_content_length"]=> float(-1) ["upload_content_length"]=> float(-1) ["starttransfer_time"]=> float(0) ["redirect_time"]=> float(0) ["redirect_url"]=> string(0) "" ["primary_ip"]=> string(0) "" ["certinfo"]=> array(0) { } ["primary_port"]=> int(0) ["local_ip"]=> string(0) "" ["local_port"]=> int(0) } 

7

Failed to connect to www.google.com port 443: Timed out

Спасибо.

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

Вы также можете попытаться добавить IP-адрес (получить ip-адрес @ https://www.site24x7.com/find-ip-address-of-web-site.html получить IP-адрес или URL ) URL-адреса, которым вы являетесьссылаясь в функции CURL на ВАШЕ СОЕДИНЕНИЕ НАРУЖНОГО ВЕБ-СЕРВЕРА (установите в качестве разрешенного соединения) или на то, как оно может отображаться в вашей панели управления, просто включите его.

Это решит большую проблему ОШИБКИ 7 в отношении веб-серверафункция скручивания.

0 голосов
/ 29 мая 2018

Спасибо, что указали мне в правильном направлении.Проблема была решена путем добавления следующей строки в скрипт CURL.

curl_setopt($curl, CURLOPT_PROXY, 'http://ntproxyus.lxa.perfora.net:3128');

Надеюсь, это поможет и кому-то еще.

Спасибо

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