我正在使用PHP将recaptcha从V1升级到V2。 下面是我们用于通过POST方法发送请求并尝试读取响应以验证验证码输入是否正确的代码。 但我们面临两个问题 1. stream_context_create()返回资源ID#8 2. file_get_contents()返回一个空格数组 请建议我在这个问题上花了两周时间,现在是截止日期 以下是代码段。
$postdata = http_build_query(
array(
'secret' => $privkey,
'response' => $response,
'remoteip' => $remoteip
)
);
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $postdata
)
);
$context = stream_context_create($opts);
print "Context is " . $context . "<br>";
$response = file_get_contents('https://www.google.com/recaptcha/api/siteverify', false, $context);
if(implode(null,$response)==null){
print "File_get_contents Array is empty ";
}else{
print "File_get_contents Array has value";
}
答案 0 :(得分:0)
file_get_contents
返回一个字符串,因此使用implode
不是正确的方法。如果你真的想看到响应只是var_dump($response)
那么你会看到。
第二个$context
是resource variable,其中包含对外部资源的引用。
$context = stream_context_create($opts);
//print "Context is " . $context . "<br>";
$response = file_get_contents('https://www.google.com/recaptcha/api/siteverify', false, $context);
var_dump($response) ; //Now you can see response