我正在開發一個桌面應用程序,該應用程序必須在用戶打開銀行wabsite後禁用防病毒軟件或其他安全軟件時通知用戶。該銀行網址 以應用程序而聞名。如果要從用戶訪問給定的銀行網站,我的應用程序必須啓動通知窗口。我希望應用程序檢查用戶打開哪個網站(鏈接),並且如果它是預定義的鏈接,則通知表單應顯示。是否可以在不開發瀏覽器插件的情況下做到這一點?桌面應用程序可以獲取網站URL嗎?
回答
通過開發瀏覽器插件和/或http(s)-proxy和/或沙盒瀏覽器和/或用修改後的版本替換瀏覽器和/或竊聽瀏覽器是可能的。
如果你真的只想用一個普通的桌面應用程序來完成它是可想而知的(對當前打開的URL進行輪詢瀏覽器),但我強烈建議不要這樣做......它不會可靠地工作,一些應變的資源...
如果我必須實現這一點,我肯定會寫一個瀏覽器插件和/或http(s)代理...任何你爲什麼排除瀏覽器 - 爲此?
假設,如果你的應用程序充當了用戶的瀏覽器的HTTP代理服務器,那麼是的..你可以攔截該銀行網站的請求,並給用戶的建議作出迴應..
是否需要太多工作才能將HTTP代理功能添加到桌面應用程序中? – Tady
這是不可能的。 (至少沒有太多的工作和/或手動配置每一臺計算機上)
你有很多的問題需要解決:
- 你將如何從「瀏覽器」獲得「網址」?
- 安全性如何?
- 您應該如何確定是否啓用防病毒或防火牆?
讓我們劃分的「URL」成小塊(可以限制我們的HTTP協議):通常
HTTP是兩個IP-地址和兩個端口之間的TCP/IP連接,服務器在端口80上響應(如果您省略端口,則默認爲80)。示例URL:
http://123.123.123.123:456(以http連接到ip 123.123.123.123端口456)
然後我們有DNS;例如:
http://foobar.com =>http://123.123.123.123(dns翻譯爲foobar.com爲123.123.123。123)
現在,假設你添加一個路徑,您的網址,例如:
http://foobar.com/path/to/page.htm
那我們現在怎麼辦?在TCP/IP中沒有這樣的「路徑」。它在HTTP級別上。讓我們在一個非常基本的HTTP網址一看,這是翻譯的TCP/IP連接:
http://foobar.com/path/to/page.htm =>
- 客戶端查找foobar.com => 123.123.123.123
- 客戶端連接到123.123.123.123端口80
- 客戶以下數據發送給服務器:
GET /path/to/page.htm HTTP/1.1 Host: foobar.com
你打算如何使用tcp/ip-connections(及其「內容」)?
您有幾種選擇:
- 過濾器 - (安裝到網絡層敏感的東西,所有我已經試過造成不穩定和性能損失,除了麻煩防火牆...。)
- 代理(你必須確保每一個瀏覽器已經通過代理重定向他們的網絡流量 - 沒有全局設置,每一個瀏覽器都有自己的方式)
- 某種類型的插件的瀏覽器(你必須寫一個新的插件爲每個瀏覽器,並確保它啓用)
讓我們看看安全性 - 如果使用HTTPS(使用SSL的HTTP),則會引入另一個問題:每個網絡連接的內容都是加密的,除非您擁有密鑰(並且您沒有密鑰除非你自己提供,否則瀏覽器不會信任你的密鑰併發出大的警告,除非你在瀏覽器中安裝了你的密鑰。而你不希望這樣做 - 這是一個相當大的安全隱患。)
讓我們想象一下,你已經解決了這個問題,你怎麼知道的防病毒是否已安裝並啓用?和防火牆?每種防病毒和防火牆都有自己的方式。
如果您的.NET桌面應用程序用於當用戶點擊預定義的銀行網站顯示的通知。然後,考慮到備用答案所需的努力,從經驗(財務)來看,讓您的應用程序啓動鏈接將毫無意義。然後,您可以執行檢查,顯示通知,並且如果您使用桌面應用程序生成的唯一查詢字符串參數啓動網站,則瀏覽網站的用戶將擁有額外的安全層。
如果用戶沒有安裝您的應用程序,那麼不妨在第一時間完成所有這些檢查(通知用戶在用戶打開銀行網站後是否禁用防病毒軟件或其他安全軟件)。
- 1. 桌面應用程序如何從網站獲取信息?
- 2. wcf +桌面應用程序或網站?
- 3. 桌面應用可以更新您的網站數據庫嗎?
- 4. 鏈接可可桌面應用程序和RubyonRails網站
- 5. 我可以用ruby創建桌面應用程序嗎?
- 6. Model View Presenter可以用於本機桌面應用程序嗎?
- 7. Windows桌面應用程序可以在Windows Phone上使用嗎?
- 8. AdMob可以用於桌面應用程序嗎?
- 9. C#桌面應用程序可以使用UWP組件嗎?
- 10. Twitter並獲取URL,臉譜,Gmail會從桌面應用程序
- 11. 離線網絡應用可以替代桌面應用嗎?
- 12. php5:我們可以開發桌面應用程序嗎
- 13. 你可以編寫Zune桌面應用程序的插件嗎?
- 14. 網絡應用程序可以提供桌面通知
- 15. 我可以從桌面應用程序訪問Chrome網絡歷史記錄嗎?
- 16. 獲取桌面版本的網站
- 17. C#自動登錄使用桌面應用程序的網站
- 18. 通過桌面應用程序重用網站功能
- 19. 使用數據的網站的桌面應用程序
- 20. 是否可以使用Windows Azure網站連接遠程桌面?
- 21. jquery移動網站也可以成爲桌面瀏覽器網站嗎?
- 22. 活動桌面網站打開程序?
- 23. C++桌面應用程序的網頁
- 24. 網絡和桌面應用程序
- 25. 將php網站轉換爲.exe桌面應用程序
- 26. 從網站啓動桌面應用程序
- 27. 桌面應用程序 - 更新文本網站
- 28. 我有登錄問題從C#桌面應用程序網站
- 29. 將網站作爲獨立的桌面應用程序發貨
- 30. 通過桌面應用程序控制網站
+1這可能有助於:http://www.codeproject.com/Messages/2341199/How-to-detect-browser-url-using-vb-net.aspx –