If you need reCaptcha in your project, this is a really good one to use. it’s also available as a NuGet package.
The only problem is that it doesn’t use a proxy. There is a Proxy attribute in the control but it inherits from IWebProxy and I couldn’t figure out how to set it.
So (with the help of TortoiseSVN) I grabbed the source and added this code to
public RecaptchaResponse Validate() in RecaptchaValidator.cs
//if (this.proxy != null)
//{
//request.Proxy = this.proxy;
IWebProxy rProxy = WebRequest.GetSystemWebProxy();
string login = ConfigurationManager.AppSettings["reCaptchaLogin"];
string password = ConfigurationManager.AppSettings["reCaptchaPassword"];
if (!String.IsNullOrEmpty(login))
rProxy.Credentials = new NetworkCredential(login, password);
else
rProxy.Credentials = CredentialCache.DefaultCredentials;
request.Proxy = rProxy;
//}
and then I added an appsettings to the web.config in the Tests directory
<appSettings>
<!-- Needed to get past proxy -->
<add key="reCaptchaLogin" value="" />
<add key="reCaptchaPassword" value="" />
</appSettings>
Problem solved!
Enjoy!
No comments:
Post a Comment