自动发帖软件代码

先上代码:

private void button_Click(object sender, EventArgs e)

        {

            CookieContainer cc = new CookieContainer();//this is for keep the Session and Cookie

            Hashtable param = new Hashtable();//this is for keep post data.

            string urlLogin = "http://demo.server//login.asp";

            param.Add("User", "xxx");

            param.Add("Password", "xxxx");

            string result = PostAndGetHTML(urlLogin, cc, param);

            string url2 =  " http://demo.server/query.asp?id=1";// need change. special logic

            param.Clear();

            result = PostAndGetHTML(url2, cc, new Hashtable());

        }

需求:客户的数据同时存在在另外一个不可控的系统中,需要和当前系统同步。

思路:自动登录另外一个系统,然后抓取数据,同步到本系统中。

技术点:模拟用户登录;保存登录状态;抓取数据

这样就自动找到id为usename 和password的控件并赋值。
 
点击按钮也有很多种方式,如果知道按钮的id或者name,例如id为:"submitbutton",直接用
[c-sharp] view plaincopy
HtmlElement btnSubmit = webBrowser.Document.All["submitbutton"];     
btnSubmit.InvokeMember("click");  

如果不知道id和name,就用
[xhtml] view plaincopy
webBrowser1.Document.Forms[0].Invoke("submit");  

这样获取了所有该网页所有按钮连接

文本查找要借助于TextRange对象的findText方法。但是,.Net里并没有这个对象。这是因为,.Net 2.0提供的HtmlDocument,HtmlWindow,HtmlElement等类,只不过是对原有mshtml这个COM组件的不完整封装,只提供了mshtml的部分功能。所以许多时候,我们仍旧要借助mshtml来实现我们需要的功能。好在这些.Net类都提供了DomDocument这个属性,使得我们很容易把.Net对象转换为COM对象使用。

本文参考自:自动发帖软件 官网

相关链接页面: http://seo.n878.com/page/Default.asp?ID=141

 

 

posted @ 2013-08-12 12:37  wisy88  阅读(945)  评论(0编辑  收藏  举报