/// <summary> /// The resolve. /// </summary> /// <param name="messageForUser"> The message for user. </param> /// <param name="title"> The title. </param> /// <param name="request"> The request. </param> /// <returns> The result structure of a solved catcha </returns> internal CaptchaResolveResult Resolve(string messageForUser, string title, CaptchaResolveRequest request) { if (!string.IsNullOrEmpty(title)) { this.Text = title; } if (!string.IsNullOrEmpty(messageForUser)) { this.lblMessage.Text = messageForUser; } return(new CaptchaResolveResult { UserReportsSuccess = this.ShowDialog() == DialogResult.OK }); }
/// <summary> /// The resolve captcha. /// </summary> private void ResolveCaptcha() { var request = new CaptchaResolveRequest { UrlOfWebSite = "http://www.wer-kennt-wen.de/captcha", }; var page = this.HttpRequester.GetContent(request.UrlOfWebSite); using (var imageStream = new MemoryStream(this.HttpRequester.GetContentBinary(GetImageUrlFromPage(page)))) { request.CaptchaImage = Image.FromStream(imageStream); imageStream.Dispose(); } this.UiDispatcher.ResolveCaptcha( "WKW will ein Captcha gelöst haben.", "WKW Captcha", request); }
/// <summary> /// Asks the user to resolve a captcha request on a web site. /// TODO: enhance the method to be able to pass back the information /// </summary> /// <param name="messageForUser"> /// a message that should be displayed to the user /// </param> /// <param name="title"> /// the title of the message box /// </param> /// <param name="request"> /// The information collected while resolving the captcha. /// </param> /// <returns> /// a <see cref="CaptchaResolveResult"/> instance with information of the web site /// </returns> public CaptchaResolveResult ResolveCaptcha(string messageForUser, string title, CaptchaResolveRequest request) { Process.Start(new ProcessStartInfo(request.UrlOfWebSite)); return(new CaptchaResolveResult { UserReportsSuccess = this.AskForConfirm(messageForUser, title) }); }