예제 #1
0
        /// <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
            });
        }
예제 #2
0
        /// <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);
        }
예제 #3
0
 /// <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)
     });
 }