通过webbrowser控件获取验证码
1、首先介绍下基本控件(拖控件大家都会,我就不一一介绍了),看下图;
2、添加MSHTML引用,步骤如下:
解决方案—右键“引用”—添加引用—在.NET下找到Microsoft.mshtml组件—点击确定;
3、编写代码,双击button1按钮添加事件;(注意在引用类中加上using mshtml;)
目标网站:http://admin.3cjz.cn/reg.php?username=ghdhdd
完整代码:
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- using mshtml;
- namespace GetCodeImg
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- private void button1_Click(object sender, EventArgs e)
- {
- //通过webbrowser控件打开网页
- webBrowser1.Navigate(textBox1.Text.Trim());
- //检查网页是否已经加载完成
- while (webBrowser1.ReadyState < WebBrowserReadyState.Complete)
- Application.DoEvents(); //若没加载完则继续加载
- //根据验证码ID获取验证码元素
- HtmlElement ImageCodeTag = webBrowser1.Document.GetElementById("vcodesrc");
- //调用GetCodeImage方法获取验证码
- Image FinalImage = GetCodeImage(webBrowser1, ImageCodeTag);
- //验证码显示
- pictureBox1.Image = FinalImage;
- }
- private Image GetCodeImage(WebBrowser WebControlName, HtmlElement ImgeTag)
- {
- //获取网页所有内容
- HTMLDocument hdoc = (HTMLDocument)WebControlName.Document.DomDocument;
- //获取网页body标签中的内容
- HTMLBody hbody = (HTMLBody)hdoc.body;
- //创建一个接口
- IHTMLControlRange hcr = (IHTMLControlRange)hbody.createControlRange();
- //获取图片地址
- IHTMLControlElement hImg = (IHTMLControlElement)ImgeTag.DomElement;
- //将图片添加到接口中
- hcr.add(hImg);
- //将图片复制到内存
- hcr.execCommand("Copy", false, null);
- //从粘贴板得到图片
- Image CodeImage = Clipboard.GetImage();
- //返回得到的验证码
- return CodeImage;
- }
- }
- }
4、验证程序
PS:本人还是还是菜鸟级程序猿,如有编写错误,欢迎指正。
通过webbrowser控件获取验证码相关推荐
- 使用WebBrowser控件获取网页源码的方法
使用WebBrowser控件获取网页源码的方法,网上有很多介绍,但绝大多数的人都是使用以下的方法获取: (WebBrowser1.Document as IHtmlDocument2).body.ou ...
- 用 .Net WebBrowser 控件获取POST数据
用 .Net WebBrowser 控件获取POST数据 很多应用中,开发者需要自己构建一个浏览器,并且对通过这个浏览器提交的请求进行截获,比如用户通过这个浏览器浏览了一个网页,并向网站提交( ...
- webbrowser抓取php网页源码,获取webbrowser控件 网页的源码(收藏)
获取webbrowser控件 网页的源码(收藏) 翻译|其它|编辑:郝浩|2005-04-28 09:45:00.000|阅读 3152 次 概述: 我在网上找到使用rft控件保存webbrowse文 ...
- vb实现webbrowser显示html,VB.NET 通过窗口句柄,获取webbrowser控件HTML内容
VB.NET通过窗口句柄,获取webbrowser控件HTML内容 通过Sendmessage获取IE浏览器内容 webbrowser控件内容获取 Class Win32API _ Publi ...
- 【C#】通过webbrowser控件自动注册QQ号讲解
前言:通过webbrowser控件来自动填写网页内容快速申请QQ号,其实对于没有使用类似JS脚本语言的简单网页元素来说比较简单,但是TX并不是吃素的,因此对于其网页自动填写内容需要注意些细节.下面介绍 ...
- C#WebBrowser控件使用教程与技巧收集
常用的方法 1 Navigate(string urlString):浏览urlString表示的网址 2 Navigate(System.Uri url):浏览url表示的网址 3 Navigate ...
- C#中的WebBrowser控件的使用
关键字:C# WebBrowser 作者:txw1958 原文:http://www.cnblogs.com/txw1958/archive/2012/09/24/CSharp-WebBrowser. ...
- [JavaScript]WebBrowser控件下IE版本的检测
转载请注明原文地址:https://www.cnblogs.com/litou/p/10772272.htm 在客户端检查用户使用的浏览器类型和版本,都是根据navigator.userAgent属性 ...
- WebBrowser控件[Windows窗体]之介绍篇
Windows 窗体控件 WebBrowser 可承载网页,并为应用程序提供 Web 浏览功能. 使用 WebBrowser 控件,可以复制应用程序中的 Internet Explorer Web 浏 ...
最新文章
- gunicorn源码分析
- unittest安装教程_unittest框架与自动化测试环境的搭建
- cocos2dx 2.2.5 hitWidget-onTouchEnded(pTouch, pEvent); 异常
- [Erlang 0014]Erlang垃圾回收机制
- 6月Top 20榜单出炉啦! 万万没想到区块链大佬竟在忙这个...
- Linux 平台 C/C++ 代码中设置线程名
- 深入java核心_Java核心(五)深入理解BIO、NIO、AIO
- Android 访问网页
- 任意占空比的方波程序
- swift 通知_Swift 闭包无脑加 [weak self] 行不行?
- SourceTree下载与安装 ---记录一下,如果忘记了再拿来看看
- 2014恒生电子笔试题
- matlab常用代码及操作
- 如何对全站进行死链接检测?
- LTP(Linux Test Project)学习(五)——LTP代码学习
- python spearman相关系数_常用的特征选择方法之 Spearman 秩相关系数
- 我可以抱你吗?linux
- 计算机学什么怎么学会的,学电脑先学什么 新手怎么学电脑
- 如何提高Python计算浮点数的精度(如何解决Python中浮点数计算误差问题)
- 【VisualStudio】Visual Studio Community 2015/2017/2019/2022 官网下载链接(传送门)