2011-12-22 9 views
2

をタイムアウトになりました - 私はhttp://code.google.com/p/recaptcha/downloads/list?q=label:aspnetlib-LatestからもらったreCAPTCHAの-DOTNET v1.0.5デベロッパーを使用しています。操作は、私がreCaptcha.net</p> <p>いくつかの背景とハンガーノックしていますエラー

私はサイトを開発し、reCaptcha検証でローカルに動作させることができました。未処理の例外は、実行中に発生しました:操作がタイムアウトした

説明

- 私は(サイトは1and1.com上でホストされている)、それをサーバーにデプロイする場合、私は以下のエラーを取得しています現在のウェブリクエストは です。エラーについての詳細とコード内のどこで発生したのかについては、スタックトレースを参照してください。

例外の詳細:System.Net.WebException:操作は、私は、サーバーを持つように助言するGoogleのフォーラムは、ポート80からの発信接続が、私はこれを説明しようとした許可チェックした

アウト をタイムアウトしましたサポート1and1.comの男が、私は彼が全く手がかりを持っているとは思わない。

これ以外にも、これを解決するためにコードワイズでできることは何ですか?誰かがこれに対する解決策を見つけましたか?

何かアドバイスをお待ちしております。

+0

recaptchaのWebサイトには、展開したサーバーからアクセスできますか? –

+0

@ M.Babcockどうすればこのことを確認できますか?私はreCaptchaコントロールを参照して、アクセス可能であると想定しました。 – Kalyan

答えて

1

最後に解決策を得て、1and1から正しいプロキシサーバーアドレスを取得して使用しました。 reCaptchaはすぐにうまくいきます。

また、何らかの理由により、reCaptchaコントロールのIWebProxyプロパティを使用してコードにプロキシ値を設定しても機能しませんでした。 web.configの下にタグを追加する必要がありました。

1

これは私が1and1でホストされているウェブサイトのメール設定とreCAPTCHAのプロキシの使用コードです:

の1- Web.configファイル(そこに置く場合のみ動作します!)

<system.net> 
    <mailSettings> 
     <smtp from="[email protected]"> 
      <network host="smtp.1and1.com" port="25" userName="[email protected]" password="mypassword"/> 
     </smtp> 
    </mailSettings> 
    <defaultProxy> 
     <proxy usesystemdefault = "false" bypassonlocal="false" proxyaddress="http://ntproxyus.lxa.perfora.net:3128" /> 
    </defaultProxy> 
</system.net> 

マイコン内の専用のアクションの中で:

// ouside the action I've defined the response 
private class gapi {public bool success{get;set;}} 

public bool SendMail(string firstname, string lastname, string email, string message, string grecaptcha) 
{ 
    SmtpClient smtp = new SmtpClient("smtp.1and1.com"); 
    MailMessage mail = new MailMessage(); 
    mail.From = new MailAddress(email); 
    mail.To.Add("[email protected]"); 
    mail.Subject = firstname + " " + lastname; 
    mail.Body = message; 
    try 
    { 
     using (var client = new WebClient()) 
     { 
      var values = new NameValueCollection(); 
      values["secret"] = "6LcEnQYTAAAAAOWzB44-m0Ug9j4yem9XE4ARERUR"; 
      values["response"] = grecaptcha; 
      values["remoteip"] = Request.UserHostAddress; 

      var response = client.UploadValues("https://www.google.com/recaptcha/api/siteverify","POST", values); 
      bool result = Newtonsoft.Json.JsonConvert.DeserializeObject<gapi>((Encoding.Default.GetString(response) as string)).success; 
      if(!result) return "Something is wrong)"; 
     } 
     //... verify that the other fields are ok and send your mail :) 
     smtp.Send(mail); 
    } 
    catch (Exception e) { return "Something is wrong)"; } 

    return "Okey :)"; 
} 

希望します。

関連する問題