2009-11-17 25 views
1

我想製作一個vb.net應用程序,它可以自動登錄到地方並從中檢索數據。我已經成功地通過可編程的方式打開了Internet Explorer並使用Tab鍵輸入名稱和密碼。但是這很混亂,需要很好的計時。我使用VB .Net。有沒有辦法與網站接口來自動登錄?也許我可以注入一個cookie,但然後瀏覽器可能會改變。任何建議都會非常有幫助。謝謝可自動登錄到網站可編程?

+0

duplicate:http://stackoverflow.com/questions/975426/how-to-programmatically-log-in-to-a-website-to-screenscape – 2009-11-17 21:01:55

+0

這是一個測試的事情,或者你是否試圖創建一個混搭類型網站? – 2009-11-17 21:02:58

回答

1

那麼,這真的取決於網站使用的認證方案。可以將Credentials objectHttpWebRequest一起傳遞,這可用於對使用基本身份驗證,Windows身份驗證和類似身份的網站進行身份驗證。但我想不出一種適用於任何和所有網站的可靠方法。

1

可能不是你想要的,但對你來說理想的工具是Selenium,而不是重新發明輪子並在VB.net中編寫自己的版本。

最好的辦法是快速查看該鏈接,看看您的想法。

0

WatiN可以用於你描述的某些東西,但是我認爲幾乎任何東西都會變得混亂,除非你能找到一種方法來做一些沉默的登錄,其中一些令牌被傳遞來模仿某人。

+0

我使用WatiJ和Eclipse IDE和JDK1.6來自動化網站。 – djangofan 2009-11-17 21:09:09

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() 
0

是否與網站自動登錄接口的方式。

是的,有。那麼,它只是一個POST HttpRequest或OAuth令牌。 對於任何令牌認證,您總是可以使用帶有所需標頭的直接POST請求。您也可以使用CLI中的cURL測試這些命令。

〜如果不考慮VB.net考慮〜,你可以自動登錄到網站 使用:

通過自動登錄keypass的 - http://keepass.info/https://www.keepassx.org/

關鍵通過自動打開的登錄URL網站,填寫登錄表單並提交。

從你的列表中選擇網站,然後按CTRL+U & CTRL+V - 你已經登錄

0

而且CasperJS和PhantomJS可能是前進的道路太。使用無頭瀏覽器,您可以確定您想要在網站上執行的JavaScript步驟。用於通過刮擦進行交互。