BlogHelper--开发手记(1)软件的开发思路

来源:互联网 发布:女娲矩阵的持续时间 编辑:程序博客网 时间:2024/05/23 11:56

    自己做了一个 Bloghelper 的博客自动采集发布工具,发到网上没想到很多 同志们 对此比较感兴趣,也有要求开源的,这个软件现在只是第一版,而且没有经过严格测试和优化的,估计里面存在不少问题,就先暂时先不开源了,要不然让明白人看见了说 误人子弟 了。

    BlogHelper软件首页:
http://blog.csdn.net/garfield21/archive/2009/05/30/4225577.aspx
    BlogHelper软件下载地址:

http://download.csdn.net/source/1364671

 

    我会把这个软件开发过程中的一些心得体会写出来和大家分享一下。希望对大家能有所帮助,要是觉得不对,欢迎随时指出。不过不要打人啊,如果一定要打,也不要打脸啊,明天早上还要去早市买菜呢 

技术简介:

   自动获取:

   现在流行的自动获取一般都是使用 HttpWebRequest 和 HttpWebResponse 技术,这种方法的优点是速度快,而且可以使用多线程技术,在自动获取时使用没有任何问题

   自动发布:

   自动发布则主要存在三种方式:HttpWebRequest /HttpWebResponse 、VS2005的WebBrowser控件 和 axWebBrowser 控件。 

   HttpWebRequest /HttpWebResponse

    是最底层的一种方法,但是要求编程者的水平也相对高些,需要熟悉 HttpWebRequest /HttpWebResponse 的编程知识。其中信息在发布时,需要在发布时自动传递给服务器相关的Cookies信息,这个我没有好好研究,不知道怎么弄。

   而且现在很多网站为了防止这个程序自动发帖,做了很多限制,有时在寻找正确的发帖方式时,可能会费些劲。 

VS2005的WebBrowser控件 和 axWebBrowser 控件

    这两个本质是都是一样的,都是微软的 web 浏览器,axWebBrowser 是比较早的版本,提供的接口和方法比较多,在具体编程时,要实现某一功能,可供选择比较多,编程起来也比较灵活。WebBrowser 是在VS2005中发布的对 axWebBrowser 进行封装的一个控件,提供的接口和方法相对来说少些。

 

整体思路:

    本软件使用 axWebBrowser 来完成自动发帖功能。

    首先使用Navigate()方法将当前浏览器的发帖页面,利用document对象实现对页面控件的赋值,通过提交form或者模拟单击Button来实现。 

对页面控件赋值的方法:

myDoc = (mshtml.IHTMLDocument2)myBrowser.Document;
                mshtml.IHTMLElement Element = (mshtml.IHTMLElement)myDoc.all.item(PubClass.BlogInfo[iIndexLogin, 4], 0);
                Element.innerText = PubClass.Users[iIndexLogin, 1];

提交页面代码:

mshtml.IHTMLFormElement f1 = (mshtml.IHTMLFormElement)myDoc.all.item(PubClass.BlogInfo[iIndexLogin, 10], 0);
                    ((mshtml.IHTMLFormElement)(f1)).submit();

模拟单击Button代码:

Element = (mshtml.IHTMLElement)myDoc.all.item(PubClass.BlogInfo[iIndexLogin, 11], 0);
                        Element.click();

 

 

 

 

 

 

原创粉丝点击