11

我们正在使用不可见的 reCaptcha,有时,Google 的 Javascript 代码会向 Google 的服务器发出请求,接收到响应状态 410,而不是 200。

我们无法控制它,因为请求是由 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,但预计如此处详述

请求 #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>
4

2 回答 2

1

这基本上是因为会话已过期。当您收到错误 410(即不成功但您仍希望上传文件)时,您必须开始一个新会话。详情请查看以下链接: https ://www.rfc-editor.org/rfc/rfc7231#section-6.5.9

于 2017-08-21T13:31:12.123 回答
0

你的电话是GET。你需要POST

参考:https://www.google.com/recaptcha/api2/payload?c=03AOPBWq_EYB。.

于 2021-07-17T16:10:41.887 回答