【问题标题】:Is there anyway to work around the ResourceAccessException when working with Google reCAPTCHA in local environment?在本地环境中使用 Google reCAPTCHA 时,是否有办法解决 ResourceAccessException?
【发布时间】:2020-10-17 01:18:51
【问题描述】:

我正在尝试在我的本地环境 Java(SpringBoot) 代码中验证 Google reCAPTCHA 响应。无论我尝试使用什么方法进行 REST 调用,我都会不断收到此异常。但是,当我从 PostMan 访问相同的 API 以及在我们的 Azure 平台上部署代码时,我能够得到 Google 的响应。 有没有办法解决这个问题?

以下是网址:

https://www.google.com/recaptcha/api/siteverify?secret=<secrete_key>&response=<gRecaptchaResponse>

下面是被抛出的异常:

对于路径 [] 上下文中的 servlet [dispatcherServlet] 抛出异常 [请求处理失败;嵌套异常是 org.springframework.web.client.ResourceAccessException: I/O error on POST request for "https://www.google.com/recaptcha/api/siteverify": Connection reset;嵌套异常是 java.net.SocketException: Connection reset] with root cause

java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(SocketInputStream.java:210) ~[na:1.8.0_161]
    at java.net.SocketInputStream.read(SocketInputStream.java:141) ~[na:1.8.0_161]
    at sun.security.ssl.InputRecord.readFully(InputRecord.java:465) ~[na:1.8.0_161]
    at sun.security.ssl.InputRecord.read(InputRecord.java:503) ~[na:1.8.0_161]
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:983) ~[na:1.8.0_161]
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385) ~[na:1.8.0_161]
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413) ~[na:1.8.0_161]

【问题讨论】:

    标签: java recaptcha invisible-recaptcha grecaptcha


    【解决方案1】:

    您可以将其包装在 try-catch 块中:

    try {
    
    } catch (SSLException e) {
    
    } catch (SocketException e) {
    
    } catch (IOException ie) {
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多