2017-05-25 254 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

您好,謝謝,但我怎麼解釋,如果請求是隻有幾秒鐘分開?乾杯 –