11

私たちは目に見えない reCaptcha を使用しており、時折、Google の Javascript コードが Google のサーバーにリクエストを送信し、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 のように見えますが、ここで詳しく説明されているように想定されています

リクエスト #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 に答える