나는 이것을 위해 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
}
희망. 건배!
코드에 대한 의견을 듣고 싶다면 [code review site] (https://codereview.stackexchange.com/)에 게시 할 수 있습니다. – markspace
@markspace 확실 ... 고마워! –