2017-05-25 257 views
12

我们使用隐形reCAPTCHA的,一旦在一段时间,谷歌的Javascript代码,使接收响应状态410到谷歌的服务器的请求,而不是200隐形谷歌验证码验证时用户的输入

我们唐返回410由于Google的reCaptcha Javascript代码正在提出请求,因此无法控制它。

如果挑战已经呈现给用户,下面是失败的请求是什么样子的例子:

GET https://www.google.com/recaptcha/api2/payload?c=03AOPBWq_EYB... 

和响应是:

HTTP/1.1 410 Gone 

<HTML> 
<HEAD> 
<TITLE>Gone</TITLE> 
</HEAD> 
<BODY BGCOLOR="#FFFFFF" TEXT="#000000"> 
<H1>Gone</H1> 
<H2>Error 410</H2> 
</BODY> 
</HTML> 

它失败约10 % 的时间。下面是一个HTTP请求的 “历史”:

请求#1

POST https://www.google.com/recaptcha/api2/reload?k=6LcqZCEU... 
v:r20170515161201 
reason:fi 
bcr:[1943341955,-150... 
... 

HTTP/1.1 200 OK 
content-type: application/json 
... 

)]}' 
["rresp","03AOPBWq_EYBOYkGkn-1S...",null,600,["pmeta",null,null,null, 
null,[[["TileSelectionStreetSign",null,3,4,4,null,null,[] 
] 
,["dress",null,3,4,4,null,null,[] 
] 
] 
,[] 
] 
] 
,"multicaptcha",null, 
["bgdata","Ly93d3cuWk5rOHFMZDlvNDZFa..."] 
] 

上述反应看起来像无效JSON但预计详细的here

请求#2

GET https://www.google.com/recaptcha/api2/payload?c=03AOPBWq_EYBOYk... 
... 

HTTP/1.1 200 OK 
content-type: image/jpeg 
content-length: 50528 
... 

<JPEG> 

请求#3

POST https://www.google.com/recaptcha/api2/replaceimage?k=6LcqZCEUAA... 
v:r20170515161201 
c:03AOPBWq_EYBOYkGkn-1SplFL... 
ds:[[5,6,9,10,13,14]] 

HTTP/1.1 200 OK 
content-type: application/json 
... 

)]}' 
["dresp","03AOPBWq-Iyck5GCpx86hk57XSxF-9b4GMaDeujP...",[] 
,null,[] 
] 

请求#4(失败的一个)

GET https://www.google.com/recaptcha/api2/payload?c=03AOPBWq_EYBOYk... 
... 

HTTP/1.1 410 Gone 
content-type: text/html 
... 

<HTML> 
<HEAD> 
<TITLE>Gone</TITLE> 
</HEAD> 
<BODY BGCOLOR="#FFFFFF" TEXT="#000000"> 
<H1>Gone</H1> 
<H2>Error 410</H2> 
</BODY> 
</HTML> 
+0

就撞到这个... – DomLip

回答

1

这基本上是因为会话已过期。当您收到错误410(即不成功并且您仍希望上载该文件)时,您必须开始一个新的会话。请看看下面的链接了解详细信息: https://tools.ietf.org/html/rfc7231#section-6.5.9

+0

您好,谢谢,但我怎么解释,如果请求是只有几秒钟分开?干杯 –