私はこのためにorg.json
ライブラリを使用しています。 jar
ファイルをhereから取得するか、docsをお読みください。 jarファイルをプロジェクトに追加し、次のクラスをインポートします。
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.nio.charset.Charset;
import org.json.JSONObject;
次の検証方法を使用してください。
/**
* Validates Google reCAPTCHA V2 or Invisible reCAPTCHA.
* @param secretKey Secret key (key given for communication between your site and Google)
* @param response reCAPTCHA response from client side. (g-recaptcha-response)
* @return true if validation successful, false otherwise.
*/
public static boolean isCaptchaValid(String secretKey, String response) {
try {
String url = "https://www.google.com/recaptcha/api/siteverify?"
+ "secret=" + secretKey
+ "&response=" + response;
InputStream res = new URL(url).openStream();
BufferedReader rd = new BufferedReader(new InputStreamReader(res, Charset.forName("UTF-8")));
StringBuilder sb = new StringBuilder();
int cp;
while ((cp = rd.read()) != -1) {
sb.append((char) cp);
}
String jsonText = sb.toString();
res.close();
JSONObject json = new JSONObject(jsonText);
return json.getBoolean("success");
} catch (Exception e) {
return false;
}
}
コール以下に示すように、上記の方法、このことができます
if(isCaptchaValid("enter_your_key_here", request.getParameter("g-recaptcha-response"))){
//valid
}
希望。乾杯!
コードの解説を受け取ることに興味がある場合は、[コードレビューサイト](https://codereview.stackexchange.com/)に掲載することもできます。 – markspace
@markspace sure ...ありがとう! –