WebHost PHP CURL请求失败,错误7

时间:2018-05-24 20:57:13

标签: php curl

在尝试验证ReCaptcha响应时,我无法从我的网站主机(1和1)连接到Google的网站。我正在使用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 :(得分:1)

感谢您指点我正确的方向。通过在CURL脚本中添加以下行来解决该问题。

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

希望这也可以帮助其他人。

由于

答案 1 :(得分:0)

您还可以尝试将您在CURL函数中引用的URL的IP地址(获取IP地址@ https://www.site24x7.com/find-ip-address-of-web-site.html get ip address or url)添加到您的Web服务器外出连接(设置为允许)连接)或可能出现在你的cpanel中只是启用它。

这将解决很多关于Web服务器卷曲功能的ERROR 7问题。