可编程自动登录网站?

时间:2009-11-17 20:55:19

标签: vb.net web login

我想创建一个自动登录到位置并从中检索数据的vb .net应用程序。我已经通过可编程地打开Internet Explorer并使用Tab键输入名称和密码来成功完成此操作。但这很麻烦,需要及时。我正在使用VB .Net。有没有办法与网站连接以自动登录。也许我可以注入一个cookie,但随后浏览器可能会改变。任何建议都会非常有帮助。感谢

6 个答案:

答案 0 :(得分:1)

可能不是你考虑过的东西,但对你来说理想的工具是Selenium而不是重新发明轮子并在VB.net中编写你自己的版本。

最好的办法是快速浏览一下这个链接,看看你的想法。

答案 1 :(得分:1)

嗯,这实际上取决于网站使用的身份验证方案。可以传递Credentials object HttpWebRequest,{{3}}可用于对使用基本身份验证,Windows身份验证等的站点进行身份验证。但我无法想到一种适用于任何和所有网站的可靠方式。

答案 2 :(得分:1)

'In vb.net...add a webbrowser control. Then use 
webbrowser1.navigate("www.gmail.com")




'Then in the webbrowsers document completed event paste something like this.

'where I wrote "123456" you will put the id of the html element for the username textbox.
'where I wrote "abcdef" you will put the id of the html element for the password textbox.


webbrowser1.Document.GetElementById("123456").InnerText = "yourusernamehere"
webbrowser1.Document.GetElementById("abcdef").InnerText = "yourpasswordhere"
webbrowser1.Document.DomDocument.forms(0).submit()

答案 3 :(得分:0)

WatiN可以用于你所描述的一些内容,但我认为除非你能找到一种方法进行静默登录,其中一些令牌被传递给冒充某人,否则几乎任何东西都会变得混乱。

答案 4 :(得分:0)

  

是否有办法与网站进行自动登录。

是的,有。好吧,它只是一个POST HttpRequest或OAuth令牌。 对于任何令牌身份验证,您始终可以使用带有所需标头的直接POST请求。您也可以使用CLI中的cURL测试这些命令。

〜无需考虑VB.net,您可以自动登录网站 使用:

通过Keypass自动登录 - http://keepass.info/https://www.keepassx.org/

Keypass会自动打开网站的登录网址,填写登录表单并提交。

从列表中选择网站,然后按CTRL+U& CTRL+V - 您已登录。

答案 5 :(得分:0)

CasperJS和PhantomJS也可能是前进的方向。使用无头浏览器,您可以识别您希望在网站上执行的JavaScript步骤。对于通过刮擦进行交互很有用。