Ошибка проверки Google Recaptcha: java. net .UnknownHostException - PullRequest
0 голосов
/ 11 февраля 2020

Я использую капчу в моем пользовательском приложении, попытался проверить ответ Google Recaptcha с помощью метода ниже, который выдает исключение, как показано ниже

java .io.IOException: java. net .UnknownHostException: Обычно это временная ошибка при разрешении имени хоста. Это означает, что локальный сервер не получил ответ от авторитетного сервера (www.google.com)

Есть идеи?

        protected boolean validateChallenge(PortletRequest portletRequest)
            throws CaptchaException {

          HttpServletRequest request = PortalUtil.getHttpServletRequest(portletRequest);

          String captchaResponseValue = ParamUtil.getString(portletRequest, "captchaResponseId");
          String url = "http://www.google.com/recaptcha/api/siteverify";
          Http.Options options = new Http.Options();

            try {
                url = HttpUtil.addParameter(url,"secret","<private-key>");
            } catch (SystemException se) {
                System.out.println(""+se);
            }

            url = HttpUtil.addParameter(url, "response", captchaResponseValue);
            url = HttpUtil.addParameter(url, "remoteip", request.getRemoteAddr());

            options.setLocation(url);
            options.setPost(true);

            String content = null;

            try {
                content = HttpUtil.URLtoString(options);
            }
            catch (IOException ioe) {
                throw new CaptchaTextException();
            }

            if (content == null) {
                throw new CaptchaTextException();
            } else if (Validator.isNotNull(content)) {
                JSONObject jsonObject;
                boolean isReCaptcha = false;
                try {
                    jsonObject = JSONFactoryUtil.createJSONObject(content);
                    isReCaptcha = jsonObject.getBoolean("success");
                } catch (JSONException e) {
                    System.out.println("reCAPTCHA did not return a valid result: " + content);
                }

            return isReCaptcha;
        }

            return false;

    }
...