2016-05-30 4 views
0

Я пытаюсь проверить recaptcha с помощью запроса. Это то, что документы говорит о апи:Подтверждение google recaptcha с запросом?

API Request 

URL: https://www.google.com/recaptcha/api/siteverify 

METHOD: POST 

POST  Parameter Description 
secret Required. The shared key between your site and ReCAPTCHA. 
response Required. The user response token provided by the reCAPTCHA to the user and provided to your site on. 
remoteip Optional. The user's IP address. 

Это мой запрос

Ответ я получаю

{ 
    "success": false, 
    "error-codes": [ 
    "missing-input-response", 
    "missing-input-secret" 
    ] 
} 

Я думаю, что можно разместить параметры в неправильный путь или, может быть, я неправильно понимаю api docs.

+0

Надеюсь, ваш секрет не является настоящим частным ключом. Который должен оставаться «частным» – Martial

+0

Это просто дев-секрет, но спасибо! – Himmators

ответ

0

Я использую «запрос», но он должен работать одинаково.

var request = require('request'); 

var data = { 
    remoteip: req.connection.remoteAddress, // @IP of the user 
    response: req.body["g-recaptcha-response"], 
    secret: RECAPTCHA_PRIVATE_KEY 
}; 

request.post({ 
    'url': RECAPTCHA_URL, 
    form: data, 
    'proxy': HTTP_PROXY // (optional) I'm behind a proxy 
}, function (error, response, body) { 
    if (!error && response.statusCode == 200) { 
    var b = JSON.parse(body); 
    if (b.success === true) { 
     // ... your code here 
    } else // ... 
    } else // .... 

});