2012-05-02 86 views
4

我想發佈從c#代碼recapture。發佈到ReCAPTCHA

 var data = new NameValueCollection 
     { 
      { "privatekey", "my key" }, 
      { "remoteip ", "" }, 
      { "challenge ", model.recaptcha_challenge_field }, 
      { "response ", model.recaptcha_response_field } 
     }; 

     using (var client = new WebClient()) 
     { 

      var response = client.UploadValues("http://www.google.com/recaptcha/api/verify", data: data); 

      var result = ASCIIEncoding.ASCII.GetString(response); 

     } 

當我這樣做的結果返回

false invalid-request-cookie 

我是否需要設置遠程IP?還有什麼可能會出錯?

更新

https://developers.google.com/recaptcha/docs/verify說,錯誤是指:

https://developers.google.com/recaptcha/docs/verify

頁面上的HTML的值如下:

<INPUT id=recaptcha_challenge_field value=03AHJ_VusdI2SY_P2iM3VICgLmOw-7CE7F6zmOwvwfya4L8Jeiok_rCwVmHFJwJHxlelhp8By_QTA7SNF58fwijij5rxBLqgpoI3nuWy6S0HGL7U7lk_35aazPfaMyVwbeWuWJyxJ0DqjwDwrByD4AY70O0qlaTnCUxQ type=hidden name=recaptcha_challenge_field /> 

在對象我回來後其計算方法如下:

「recaptcha_challenge_field=03AHJ_VusdI2SY_P2iM3VICgLmOw-7CE7F6zmOwvwfya4L8Jeiok_rCwVmHFJwJHxlelhp8By_QTA7SNF58fwijij5rxBLqgpoI3nuWy6S0HGL7U7lk_35aazPfaMyVwbeWuWJyxJ0DqjwDwrByD4AY70O0qlaTnCUxQ&recaptcha_response_field=re merh +多」

,當我得到它的服務器上的值是

03AHJ_VusdI2SY_P2iM3VICgLmOw-7CE7F6zmOwvwfya4L8Jeiok_rCwVmHFJwJHxlelhp8By_QTA7SNF58fwijij5rxBLqgpoI3nuWy6S0HGL7U7lk_35aazPfaMyVwbeWuWJyxJ0DqjwDwrByD4AY70O0qlaTnCUxQ 

所以,如果我們把所有3值肩並肩,我們有:

03AHJ_VusdI2SY_P2iM3VICgLmOw-7CE7F6zmOwvwfya4L8Jeiok_rCwVmHFJwJHxlelhp8By_QTA7SNF58fwijij5rxBLqgpoI3nuWy6S0HGL7U7lk_35aazPfaMyVwbeWuWJyxJ0DqjwDwrByD4AY70O0qlaTnCUxQ 
03AHJ_VusdI2SY_P2iM3VICgLmOw-7CE7F6zmOwvwfya4L8Jeiok_rCwVmHFJwJHxlelhp8By_QTA7SNF58fwijij5rxBLqgpoI3nuWy6S0HGL7U7lk_35aazPfaMyVwbeWuWJyxJ0DqjwDwrByD4AY70O0qlaTnCUxQ 
03AHJ_VusdI2SY_P2iM3VICgLmOw-7CE7F6zmOwvwfya4L8Jeiok_rCwVmHFJwJHxlelhp8By_QTA7SNF58fwijij5rxBLqgpoI3nuWy6S0HGL7U7lk_35aazPfaMyVwbeWuWJyxJ0DqjwDwrByD4AY70O0qlaTnCUxQ 

正在通過調用下面生成的頁面上重新捕獲

Recaptcha.create("pub key", 
    "myDiv", 
    { 
     theme: "clean", 
     callback: Recaptcha.focus_response_field 
    } 
); 
+2

我敢打賭,請求Cookie無效! –

+0

問題已更新 – John

回答

4

你留在REMOTEIP,挑戰和響應的空間。 應該

var data = new NameValueCollection 
     { 
      { "privatekey", "my key" }, 
      { "remoteip", "192.168.1.111" }, 
      { "challenge", model.recaptcha_challenge_field }, 
      { "response", model.recaptcha_response_field } 
     }; 

也需要IP地址,但你所得到的電流誤差是因爲在參數中領先的空間。