cURL Recaptcha 不工作 PHP [英] cURL Recaptcha not working PHP

查看:18
本文介绍了cURL Recaptcha 不工作 PHP的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有什么:

$data = array(
            'secret' => "my-app-secret",
            'response' => "the-response"
        );

$verify = curl_init();
curl_setopt($verify, CURLOPT_URL, "https://www.google.com/recaptcha/api/siteverify");
curl_setopt($verify, CURLOPT_POST, true);
curl_setopt($verify, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($verify, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($verify);

var_dump($response);

我得到了什么:bool(false)(这意味着 curl_exec() 失败)

What I got: bool(false) (which means the curl_exec() failed)

我期望的:JSON 对象响应

请帮忙.谢谢.

推荐答案

因为您正在尝试通过 SSL 进行连接,所以您需要调整您的 cURL 选项来处理它.如果您添加 curl_setopt($verify, CURLOPT_SSL_VERIFYPEER, false);

Because you're attempting to connect via SSL, you need to adjust your cURL options to handle it. A quick fix to get this to work is if you add curl_setopt($verify, CURLOPT_SSL_VERIFYPEER, false);

CURLOPT_SSL_VERIFYPEER 设置为 false 将使其接受提供给它的任何证书,而不是验证它们.

Setting CURLOPT_SSL_VERIFYPEER to false will make it so that it accepts any certificate given to it rather than verifying them.

<?php

$data = array(
            'secret' => "my-secret",
            'response' => "my-response"
        );

$verify = curl_init();
curl_setopt($verify, CURLOPT_URL, "https://www.google.com/recaptcha/api/siteverify");
curl_setopt($verify, CURLOPT_POST, true);
curl_setopt($verify, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($verify, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($verify, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($verify);

var_dump($response);

这篇关于cURL Recaptcha 不工作 PHP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆