用VB.NET做个论坛发帖软件
2004-03-30 19:13
363 查看
用VB.NET做个论坛发帖软件
riveastking
题记:如果你经常泡各种论坛发表宏论,如果您想把您的软件在极短时间内提交到有关网站,如果您想把您的网站快速登陆各搜索引擎,如果您想做个论坛自动发贴软件,本篇文章可能对您有所帮助。
开发工具:Microsoft Visual Studio .NET 2003
操作系统:Windows XP
不编程实现自动发帖
不编程也能实现论坛自动发贴?
答案肯定的。2003年10月前,我还未学习编程(VB6),但我已经实现论坛自动发帖器。虽然现在我已不用这种方法,但可能对有些朋友有用,还是在此介绍一下实现方法。
实现原理是:借用模拟键盘、鼠标操作的软件,抓取输入框座标,然后模拟移动鼠标到指定座标,模拟键盘输入字符,模拟回车或点击相应位置完成自动发贴。当然,你得编写相应自动化脚本,虽有一点难度,但对于编程来说,应该是简单的。
有三个模拟键盘、鼠标类软件,功能比较好,在《VS.NET学习方法论》已经有所介绍。
一. PCWorker(http://www.pcworker.net)
PCWorker功能极多,更重要的是,PCWorker中的脚本代码都是看得懂的代码:
是不是不太难?
二. “按键精灵”(http://www.vrbrothers.com/cn/qmacro)
相对来说,按键精灵容易使用,但只有PCWorker的少部分功能。比如PCWorker可输出随机数,按键精灵就不行。
按键精灵的脚本代码不太容易看懂,比如
KeyPress 82 1
您看得出按的是哪个键吗?
三. EzScript(http://ezscript.seed.cx/)
EzScript的功能也很多。但我在Windows XP下试用自动发贴时,没有反应。
初学者建议使用按键精灵,进阶则用PCWorker。使用教程请参考作者网站。
用AxWebBrowser控件做论坛自动发贴软件
AxWebBrowser控件即VB6中的WebBrowser控件。
用AxWebBrowser做论坛批量发贴软件,使用时先添加对AxWebBrowser控件和MSHTML的引用。
先Navigate到指定网址。然后用以下代码等待网页加载完毕:
然后调用发帖过程。
于是,主过程是这样:
以上代码可实现可视化自动注册和论坛自动发帖工具。
还有几个问题有待解决:
一. 有的网站要填上识别码数字才能注册或发言,如何用程序来实现自动识别识别码图片上的数字?
二. 有的网站一进去就会跳出一个欢迎对话框,程序的运行就被暂停。
三. 对于自动注册和发言来说,加载较慢的图片、Flash、音乐等并不是必需的。
用HttpWebRequest类做论坛快速发帖器
用HttpWebRequest类做论坛发贴机就简单多了。
我们始终不能忘记,最好的教程是MSDN,在Microsoft Visual Studio .NET 2003“搜索”中敲入HttpWebRequest,抄来一些东东(事实上许多教程书籍都是从MSDN上抄的):
命名空间: System.Net
HttpWebRequest 类对 WebRequest 中定义的属性和方法提供支持,也对使用户能够直接与使用 HTTP 的服务器交互的附加属性和方法提供支持。
不要使用 HttpWebRequest 构造函数。使用 WebRequest.Create 方法初始化 HttpWebRequest 的一个新实例。如果 URI 的方案是 http:// 或 https:// ,则 Create 将返回 HttpWebRequest 实例。
GetResponse 方法向 RequestUri 属性中指定的 Internet 资源发出同步请求并返回包含该响应的 HttpWebResponse 实例。可以使用 BeginGetResponse 和 EndGetResponse 方法对 Internet 资源发出异步请求。
当要向 Internet 资源发送数据时, GetRequestStream 方法返回用于发送数据的 Stream 实例。 BeginGetRequestStream 和 EndGetRequestStream 方法提供对发送数据流的异步访问。
如果在访问 Internet 资源时发生错误,则 HttpWebRequest 类将引发 WebException 。 WebException.Status 属性是 WebExceptionStatus 值之一,它指示错误源。当 WebException.Status 为 WebExceptionStatus.ProtocolError 时, Response 属性包含从 Internet 资源接收的 HttpWebResponse 。
用AxWebBrowser控件做论坛发贴机留有三个问题,用HttpWebRequest类来实现,后二个问题都不复存在。而且,用HttpWebRequest类来实现论坛发帖器的速度要快得多。但是,同样的?
有的网站要填上识别码数字才能注册或发言,如何用“论坛自动发贴机”来实现自动识别识别码图片上的数字?
我们在主过程里加上线程,因为我们以后要用多线程做自动发帖机啊。用多线程做论坛自动发贴器在VB6中不好实现,在VB.NET中做自动发帖工具却不难。
Visual Studio .NET 2003 是一个全面的开发工具,用于快速构建面向 Microsoft Windows? 和 Web 并连接 Microsoft .NET 的应用程序,是否极大地提高了我们的开发效率呢?
http://www.riveastking.com
2004年1月24日
riveastking
题记:如果你经常泡各种论坛发表宏论,如果您想把您的软件在极短时间内提交到有关网站,如果您想把您的网站快速登陆各搜索引擎,如果您想做个论坛自动发贴软件,本篇文章可能对您有所帮助。
开发工具:Microsoft Visual Studio .NET 2003
操作系统:Windows XP
不编程实现自动发帖
不编程也能实现论坛自动发贴?
答案肯定的。2003年10月前,我还未学习编程(VB6),但我已经实现论坛自动发帖器。虽然现在我已不用这种方法,但可能对有些朋友有用,还是在此介绍一下实现方法。
实现原理是:借用模拟键盘、鼠标操作的软件,抓取输入框座标,然后模拟移动鼠标到指定座标,模拟键盘输入字符,模拟回车或点击相应位置完成自动发贴。当然,你得编写相应自动化脚本,虽有一点难度,但对于编程来说,应该是简单的。
有三个模拟键盘、鼠标类软件,功能比较好,在《VS.NET学习方法论》已经有所介绍。
一. PCWorker(http://www.pcworker.net)
PCWorker功能极多,更重要的是,PCWorker中的脚本代码都是看得懂的代码:
Press VK_F1 | // 模擬按 F1 鍵 |
Press VK_CTRL+VK_F | // 模擬按 Ctrl + F 鍵 |
二. “按键精灵”(http://www.vrbrothers.com/cn/qmacro)
相对来说,按键精灵容易使用,但只有PCWorker的少部分功能。比如PCWorker可输出随机数,按键精灵就不行。
按键精灵的脚本代码不太容易看懂,比如
KeyPress 82 1
您看得出按的是哪个键吗?
三. EzScript(http://ezscript.seed.cx/)
EzScript的功能也很多。但我在Windows XP下试用自动发贴时,没有反应。
初学者建议使用按键精灵,进阶则用PCWorker。使用教程请参考作者网站。
用AxWebBrowser控件做论坛自动发贴软件
AxWebBrowser控件即VB6中的WebBrowser控件。
用AxWebBrowser做论坛批量发贴软件,使用时先添加对AxWebBrowser控件和MSHTML的引用。
先Navigate到指定网址。然后用以下代码等待网页加载完毕:
Do While brow.Busy Application.DoEvents() Loop |
Public Sub fill() On Error Resume Next Do While brow.Busy Application.DoEvents() Loop Dim webDoc As Object = brow.Document.all Dim webTag As Object Dim lengthTag As Integer = webDoc.length - 1 For countTag As Integer= 0 To lengthTag webTag = webDoc.item(countTag) Select Case Strings.LCase(webDoc.item(countTag).tagname) Case "textarea" '网页中的文本框 Select Case webTag.name Case "body" '"body"来自网页源代码,不同网站很可能不同,你根据实际修改。下同。 webTag.value = strBody '这是预先定义的值,下同。 End Select Case "select" '网页中的下拉选择框 Select Case webTag.name Case "month" '选择月份,这里略去年、日的选择,因为原理相同。 webTag.all.item(1).selected = True '选择第一个值 End Select Case "input" '网页中的输入框 Select Case Strings.LCase(webTag.type) Case "text" '文本 Select Case webTag.name Case "name", "userid", "nickname" '用户名 webTag.value = strName Case "subject" '标题 webTag.value = strSubject Case "regid" '注册码 webTag.value = strRegid Case "username", "realname" webTag.value = strUsername Case "cardnumber" webTag.value = strCardNumber Case "homephone" webTag.value = strHomephone '电话号 Case "url_title" '链接名称 webTag.value = urlTitle Case "url" '链接 webTag.value = url Case "email" 'email地址 webTag.value = email Case "img" '图片 webTag.value = img Case "midi" '音乐 webTag.value = midi Case "year" '年 webTag.value = strYear Case "prompt" '找回密码提示问题 webTag.value = strPrompt Case "answer" '找回密码答案 webTag.value = strAnswer End Select Case "password" '密码 Select Case webTag.name Case "passwd", "password", "confirm", "repasswd" '密码,确认密码 webTag.value = strPass End Select Case "checkbox" '单选框 Select Case webTag.name Case "emailme" 'email通知我 webTag.checked = True End Select End Select End Select Next brow.Document.forms(0).submit() '许多网页表单,这一句简单代码即实现自动提交 End Sub |
Public Sub autoAdd() brow.Silent = True '不弹出窗口 brow.Navigate("http://www.riveastking.com") ' 我的小站为例 Do While formBrowNetsh.brow.Busy '等待网页加载完毕 Application.DoEvents() Loop Call fill() End Sub |
还有几个问题有待解决:
一. 有的网站要填上识别码数字才能注册或发言,如何用程序来实现自动识别识别码图片上的数字?
二. 有的网站一进去就会跳出一个欢迎对话框,程序的运行就被暂停。
三. 对于自动注册和发言来说,加载较慢的图片、Flash、音乐等并不是必需的。
用HttpWebRequest类做论坛快速发帖器
用HttpWebRequest类做论坛发贴机就简单多了。
我们始终不能忘记,最好的教程是MSDN,在Microsoft Visual Studio .NET 2003“搜索”中敲入HttpWebRequest,抄来一些东东(事实上许多教程书籍都是从MSDN上抄的):
命名空间: System.Net
HttpWebRequest 类对 WebRequest 中定义的属性和方法提供支持,也对使用户能够直接与使用 HTTP 的服务器交互的附加属性和方法提供支持。
不要使用 HttpWebRequest 构造函数。使用 WebRequest.Create 方法初始化 HttpWebRequest 的一个新实例。如果 URI 的方案是 http:// 或 https:// ,则 Create 将返回 HttpWebRequest 实例。
GetResponse 方法向 RequestUri 属性中指定的 Internet 资源发出同步请求并返回包含该响应的 HttpWebResponse 实例。可以使用 BeginGetResponse 和 EndGetResponse 方法对 Internet 资源发出异步请求。
当要向 Internet 资源发送数据时, GetRequestStream 方法返回用于发送数据的 Stream 实例。 BeginGetRequestStream 和 EndGetRequestStream 方法提供对发送数据流的异步访问。
如果在访问 Internet 资源时发生错误,则 HttpWebRequest 类将引发 WebException 。 WebException.Status 属性是 WebExceptionStatus 值之一,它指示错误源。当 WebException.Status 为 WebExceptionStatus.ProtocolError 时, Response 属性包含从 Internet 资源接收的 HttpWebResponse 。
Shared Sub postData() Dim httpUrl As New System.Uri("http://www.riveastking.com?" & "name=yourName&pass=yourPass&cardnumber=yourCardNumber") Dim req As HttpWebRequest 'req.Timeout = 10000 '设置超时值10秒 req = CType(WebRequest.Create(httpUrl2), HttpWebRequest) req.Method = "POST" req.ContentType = "application/x-www-form-urlencoded" Dim bytesData() As Byte = System.Text.Encoding.ASCII.GetBytes(""name=yourName&pass=yourPass&cardnumber=yourCardNumber") req.ContentLength = bytesData.Length Dim postStream As Stream = req.GetRequestStream() postStream.Write(bytesData, 0, bytesData.Length) '以上向服务器post信息。 Dim res As HttpWebResponse = CType(req.GetResponse(), HttpWebResponse) '以下获取服务器返回信息 Dim reader As StreamReader = _ New StreamReader(res.GetResponseStream, System.Text.Encoding.GetEncoding("GB2312")) Dim respHTML As String = reader.ReadToEnd() MsgBox(respHTML) '这就是向网络服务器post后返回的信息 MsgBox(res.StatusCode.ToString) '向网络服务器post后返回的状态码 res.Close() '关闭 End Sub |
有的网站要填上识别码数字才能注册或发言,如何用“论坛自动发贴机”来实现自动识别识别码图片上的数字?
我们在主过程里加上线程,因为我们以后要用多线程做自动发帖机啊。用多线程做论坛自动发贴器在VB6中不好实现,在VB.NET中做自动发帖工具却不难。
Dim threadAdd As System.Threading.Thread '定义线程 Public Sub threadAutoAdd() threadAdd= New System.Threading.Thread(AddressOf postData) '创建线程实例 threadNetsh.Start() '开始线程 '别忘了在Sub postData()的最后加上threadAutoAdd.Abort()来关闭线程 '或者在这里加上判断Sub postData()完毕的代码,如果完毕就关闭线程 End Sub |
http://www.riveastking.com
2004年1月24日
相关文章推荐
- 用VB.NET做个论坛发帖软件
- 用VB.NET做个论坛发帖软件
- 用VB.NET做个论坛发帖软件
- [收藏]关于用Asp.Net论坛发帖软件的实现
- UML工具推荐 Poseidon版本 可以免费下载,自动生成代码 C++ Java C# VB.NET等 (来自德国汉堡的国际性建模软件开发商Gentleware AG的)
- .net平台手机管理软件开发(10)—— 短信部分 VB.NET解码PDU
- VB.NET中调用MSI卸载软件的2个方法
- C#转换为VB.NET(转自李洪根的blog-专注软件开发技术)
- [VB.NET]csdn上的论坛树型结构是怎么实现的呢 ??用的是什么技术和控件啊?
- .net平台手机管理软件开发(11)—— 短信部分 VB.NET编码PDU
- 研究: dotnetnuke 论坛.(asp.net + vb.net 组成)
- VB.net实现双击文件启动软件并打开文件
- DirectUI Skin++界面解决方案 界面设计 界面开发 软件UI界面开发 软件UI界面美术设计 界面编程 界面教程 Skin VC VB C# .net pb delphi c builder GUI
- 商业软件注册系统 [ASP+VB.NET]
- 为客户万科做的sofun搜房网论坛专用发帖群发机(C#.NET)
- VB.net开发的软件中用到水晶报表,打包安装后提示找不到keycodev2.dll
- [VB.NET]关于 软件打包问题 头大了 555~~~
- vb.net 获取当前程序的版本(软件自己的版本)
- 文件关联后vb.net 软件如何响应被关联文件的双击事件
- [VB.NET]往软件中的TEXTBOX里添加内容是否可行?