使用 java 玩 Framework ReCaptcha
Play Framework ReCaptcha with java
我需要知道如何使用 recaptcha,scala 中有一个库,但 java 中没有。
你能帮我提供一些代码示例以了解如何使用该库吗:
在java?
您可以在控制器中使用类似这样的东西来验证表单:
private boolean isRecaptchaValid(String recaptchaKey, String useRecaptcha) {
String recaptchaSecretKey = configuration.getString("recaptchaSecretKey");
WSRequest holder = ws.url("https://www.google.com/recaptcha/api/siteverify");
holder.setQueryParameter("secret", recaptchaSecretKey);
holder.setQueryParameter("response", recaptchaKey);
CompletionStage<JsonNode> jsonPromise = holder.post("").thenApply(WSResponse::asJson);
JsonNode googleResponse = null;
try{
googleResponse = jsonPromise.toCompletableFuture().get(1000, TimeUnit.MILLISECONDS);
} catch (InterruptedException e){
e.printStackTrace();
} catch (ExecutionException e){
e.printStackTrace();
} catch (TimeoutException e){
e.printStackTrace();
}
if (googleResponse!= null && googleResponse.get("success") != null && googleResponse.get("success").asBoolean()) {
return true;
}
return false;
}
我需要知道如何使用 recaptcha,scala 中有一个库,但 java 中没有。
你能帮我提供一些代码示例以了解如何使用该库吗:
在java?
您可以在控制器中使用类似这样的东西来验证表单:
private boolean isRecaptchaValid(String recaptchaKey, String useRecaptcha) {
String recaptchaSecretKey = configuration.getString("recaptchaSecretKey");
WSRequest holder = ws.url("https://www.google.com/recaptcha/api/siteverify");
holder.setQueryParameter("secret", recaptchaSecretKey);
holder.setQueryParameter("response", recaptchaKey);
CompletionStage<JsonNode> jsonPromise = holder.post("").thenApply(WSResponse::asJson);
JsonNode googleResponse = null;
try{
googleResponse = jsonPromise.toCompletableFuture().get(1000, TimeUnit.MILLISECONDS);
} catch (InterruptedException e){
e.printStackTrace();
} catch (ExecutionException e){
e.printStackTrace();
} catch (TimeoutException e){
e.printStackTrace();
}
if (googleResponse!= null && googleResponse.get("success") != null && googleResponse.get("success").asBoolean()) {
return true;
}
return false;
}