首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# 網站从動登錄 求助

2011-12-25 
C# 網站自動登錄 求助我是c#的初學者.想請教用什麼方法.可以實現網站自動登錄我學習過網上的 mshtml com控

C# 網站自動登錄 求助
我是c#的初學者.想請教用什麼方法.可以實現網站自動登錄

我學習過網上的 mshtml com控件的方法.可以實現.在winform上填上id和password.點按鈕. 程序自動打開ie.自動填上登入資料.點擊提交按鈕..但這個mshtml只能在安裝了vs2005的機器上才能運行...其他機都報錯.mshtml.dll無法調用..找過google的方法也沒辨法攪好..


請問.net內置的控件..那個可以辨到這種方法呢..用過httpwebrequest.但想不到怎樣用ie顯示..而且也不知要提交什麼資料..求助


[解决办法]
怎么可能找不到mshtml, 这个是IE的COM组件之一, 和VS没有什么关系. 

http://cid-184ecd6232a550c1.skydrive.live.com/self.aspx/Public/Program/%e7%99%be%e5%ba%a6%e8%be%93%e5%85%a5%e6%a1%86.zip

下载AutoTester.Net, 可以实现你的需求.

下面是一段例子, 命令行csc baidu.cs /r:AutoTesterLib.dll 编译即可.

C# code
using System;using System.Collections.Generic;using System.Text;using System.Diagnostics;using System.Threading;using System.Drawing;using Shrinerain.AutoTester.HTMLUtility;namespace Shrinerain.AutoTester{    class Baidu    {        public static void Main()        {            string url = @"http://www.baidu.com/";            string title="百度一下";            HTMLTest test = new HTMLTest();            //test.Browser.Find(title);            //test.SendMsgOnly = true;            test.Browser.Load(url);            test.Map.TextBox().Input("测试");            test.Map.Button("百度一下").Click();            Console.ReadLine();                 }    }}
[解决办法]
有以下几个步骤:
1、平台调用包装两个API函数:InternetGetCookies和InternetSetCookies
这是最基本的cookies处理函数.
2、建立一个CookieContainer,把本地包括的cookies使用InternetGetCookies添加到这个CookieContainer中。
3、先是使用HttpWebRequst发送请求,当然要指定CookieContainer,后接收到HttpWebResponse后,要把
CookieContainer中的相应cookies使用InternetSetCookies写入到本地cookies缓存中。
4、使用WebBrowser控件请求页面,这是的WebBrowser控件默认能从本地cookies缓存中搜索到cookies并发送出去
了。
以上步骤中间还有些小的问题需要你自己解决,比如向CookieContainer中添加和读取cookie等。
以上说的是使用WebBrowser控件时注意的问题。

其实,你的那个方法也是可行的。
问题出在你的mshtml的版本身上。只要两台计算机的mshtml版本一样,应该都能运行,楼主检查一下版本吧!
[解决办法]
探讨
引用:
怎么可能找不到mshtml, 这个是IE的COM组件之一, 和VS没有什么关系.

http://cid-184ecd6232a550c1.skydrive.live.com/self.aspx/Public/Program/%e7%99%be%e5%ba%a6%e8%be%93%e5%85%a5%e6%a1%86.zip

下载AutoTester.Net, 可以实现你的需求.

下面是一段例子, 命令行csc baidu.cs /r:AutoTesterLib.dll 编译即可.


C# code
using System;
using System.Collections.Generic;

热点排行