Unable to verify recaptcha response - Connection timeout

4,050 views
Skip to first unread message

Sharath

unread,
Dec 17, 2010, 10:14:44 AM12/17/10
to reCAPTCHA
Hi,

I am using the recaptcha plugin (jar file), to verify the recaptcha
response. I pass the remoteAddr, challenge and response from the
client to the server . My implementation on server side is as follows.

ReCaptchaImpl reCaptcha = new ReCaptchaImpl();
reCaptcha.setPrivateKey(Constants.RECAPTCHA_PRIVATE_KEY);
try
{
ReCaptchaResponse reCaptchaResponse =
reCaptcha.checkAnswer(remoteIP[0], challenge[0], response[0]);
if (reCaptchaResponse.isValid())
{
setResultMessage("true|verified");
log.info("Recaptcha response is valid. Is Human!!!");
}
else
{
setResultMessage("false|verified");
log.info("Recaptcha response is invalid.");
}

}
catch (ReCaptchaException re) {
log.error("ReCaptcha Exception - Unable to verify user recaptcha
response", re);
}


This did work on 15th Dec 2010. By that i mean, I was able to connect
to the recaptcha server and get the validation response. However,
today I am unable to connect to their servers. Basically, POST to
"http://api-verify.recaptcha.net/verify"" is failing. I am getting the
following exception.

Any suggestion to resolve this issue?


net.tanesha.recaptcha.ReCaptchaException: Cannot load URL: Connection
timed out: connect
at
net.tanesha.recaptcha.http.SimpleHttpLoader.httpPost(SimpleHttpLoader.java:
89)
at net.tanesha.recaptcha.ReCaptchaImpl.checkAnswer(ReCaptchaImpl.java:
61)
at
uk.co.autotrader.search.action.VerifyCaptchaAction.execute(VerifyCaptchaAction.java:
75)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
at java.lang.reflect.Method.invoke(Method.java:592)
at net.sourceforge.stripes.controller.DispatcherHelper
$6.intercept(DispatcherHelper.java:445)
at
net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:
157)
at
net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.intercept(BeforeAfterMethodInterceptor.java:
107)
at
net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:
154)
at
net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionContext.java:
73)
at
net.sourceforge.stripes.controller.DispatcherHelper.invokeEventHandler(DispatcherHelper.java:
443)
at
net.sourceforge.stripes.controller.DispatcherServlet.invokeEventHandler(DispatcherServlet.java:
241)
at
net.sourceforge.stripes.controller.DispatcherServlet.doPost(DispatcherServlet.java:
154)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
173)
at
net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:
181)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
173)
at
uk.co.autotrader.search.servlet.TimingFilter.doFilter(TimingFilter.java:
56)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
173)
at
uk.co.autotrader.search.servlet.SearchRequestLogFilter.doFilter(SearchRequestLogFilter.java:
61)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
173)
at
net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:
181)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
173)
at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:
81)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
178)
at
org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:
39)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:
159)
at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:
59)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
856)
at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:
527)
at
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:
112)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:
195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.Socket.connect(Socket.java:524)
at java.net.Socket.connect(Socket.java:474)
at sun.net.NetworkClient.doConnect(NetworkClient.java:157)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:388)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:523)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:231)
at sun.net.www.http.HttpClient.New(HttpClient.java:304)
at sun.net.www.http.HttpClient.New(HttpClient.java:321)
at
sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:
839)
at
sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:
791)
at
sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:
716)
at
sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:
883)
at
net.tanesha.recaptcha.http.SimpleHttpLoader.httpPost(SimpleHttpLoader.java:
66)
... 47 more

Thanks,
Sharath

Silvina Cano Saracho

unread,
Feb 6, 2013, 12:28:28 PM2/6/13
to reca...@googlegroups.com, sharath...@gmail.com
I have the same problem ! any idea?

sharma...@gmail.com

unread,
Feb 8, 2013, 5:14:58 AM2/8/13
to reca...@googlegroups.com, sharath...@gmail.com

Facing same error please help

VenJPRO

unread,
Jun 23, 2014, 4:28:35 PM6/23/14
to reca...@googlegroups.com, sharath...@gmail.com
The google recaptcha timeout errors are because Google switches its IP address of its publicly accessible service like the the http://api-verify.recaptcha.net/verify
The solution is to either restart your app server to clear the JVM cache of DNS entries or add the following parameters to your 
JVM / server startup parameters: 

-Dsun.net.inetaddr.ttl=30


and restart the server



thanks

Venkat

narendra kumar

unread,
Jul 4, 2014, 9:23:15 AM7/4/14
to reca...@googlegroups.com, sharath...@gmail.com
 
Hi Venkat, thanks for your answer, do you know when exactly this change happened (date?) at Google side ?
 
We also have faced this issue but the issue was not resolved by restart and parameter configuration hence I suspect DNS cache not clearly as expected. Still anaysing on this, let me know if you have some more updates on it, thanks a lot.
 
Regards,
Naren

Michael Mike

unread,
Apr 21, 2016, 4:47:25 AM4/21/16
to reCAPTCHA, sharath...@gmail.com
Any updates on this matter ? Have a similar issues using php, and it says connection timed out after X seconds.
Reply all
Reply to author
Forward
0 new messages