2016-02-11 20 views
5

をhttps://www.google.com/recaptcha/api2/userverifyの呼び出しから無効なJSONを取得する)]}」 ["uvresp" ,,,, 2]のreCAPTCHAはreCAPTCHAのが<a href="https://www.google.com/recaptcha/api2/userverify?k=" rel="noreferrer">https://www.google.com/recaptcha/api2/userverify?k=</a></p> <p>への呼び出しを行うときには、この</p> <p>に戻ってくる

有効なkが付与されていればもう少し戻ってきます。しかし、)]} 'は明らかに無効なjsonです。 grecaptcha.getResponse()でレスポンスを取得しようとすると、空の文字列が返されます。

curlを使用した場合と同じ結果になります。

ご協力いただければ幸いです。

+0

上の同じ部分を適用することをお勧め

あなたは、このAPIを使用する方法を見つけ出すだろうか? –

答えて

1

実際に返される値は有効なjsonではなく、GoogleのAPIによってよく解析されます。

保護されていますか?私は知りませんが、あなたはjavascriptを見れば、あなたはそれを見つけることができます:

var jm=function(a,b,c,d,e,g,h,l,r){this.xl=a;this.$c=c||"GET";this.Ka=d;this.Gg=e||null;this.Td=m(h)?h:1;this.ye=0;this.xh=this.Nh=!1;this.uh=b;this.Mh=g;this.md=l||"";this.Zb=!!r;this.Wf=null};f=jm.prototype;f.getUrl=function(){return this.xl};f.ug=function(){return this.$c};f.Ca=function(){return this.Ka};f.fi=function(){return this.Zb};f.bi=function(){return this.md};var nm=function(){G.call(this);this.nj=new hm(0,mm,1,10,5E3);H(this,this.nj);this.ad=0};x(nm,G);var mm=new Nh;nm.prototype.send=function(a){return new Lc(function(b,c){var d=String(this.ad++);this.nj.send(d,a.Uf.toString(),a.ug(),a.Ca(),mm,void 0,u(function(a,d){var h=d.target;if(Xk(h)){var l=a.ml;h.B?(h=h.B.responseText,0==h.indexOf(")]}'\n")&&(h=h.substring(5)),h=Hg(h)):h=void 0;b(new l(h))}else c(new om(a))},this,a))},this)};var om=function(a){y.call(this);this.request=a};x(om,y); 

特に見てみましょう:パーサは明示的に値が)]}で始まることを確認し

var l=a.ml;h.B?(h=h.B.responseText,0==h.indexOf(")]}'\n")&&(h=h.substring(5)),h=Hg(h)):h=void 0;` 

とそれを剥がす。私はあなただけ「JSON」文字列

関連する問題

 関連する問題