.net 桌面应用程序是否可以获取网站URL?

.net 桌面应用程序是否可以获取网站URL?,.net,web,desktop-application,.net,Web,Desktop Application,我正在开发一个桌面应用程序,当用户打开银行网站时,如果防病毒软件或其他安全软件被禁用,则必须通知用户。银行网站url 以应用程序而闻名。如果要从用户访问给定的银行网站,我的应用程序必须启动一个通知窗口。我希望应用程序检查用户正在打开哪个网站(链接),以及通知表单是否应显示预定义的链接。在不开发浏览器外接程序的情况下,是否可以完成类似的操作?简单的答案是否定的 较长的答案是肯定的。但是你必须进入网络嗅探(行不通-银行流量通常是加密的)或内存(从RAM中手动读取字符串等)。在这两种情况下,制作浏览器

我正在开发一个桌面应用程序,当用户打开银行网站时,如果防病毒软件或其他安全软件被禁用,则必须通知用户。银行网站url
以应用程序而闻名。如果要从用户访问给定的银行网站,我的应用程序必须启动一个通知窗口。我希望应用程序检查用户正在打开哪个网站(链接),以及通知表单是否应显示预定义的链接。在不开发浏览器外接程序的情况下,是否可以完成类似的操作?

简单的答案是否定的


较长的答案是肯定的。但是你必须进入网络嗅探(行不通-银行流量通常是加密的)或内存(从RAM中手动读取字符串等)。在这两种情况下,制作浏览器外接程序至少要容易1000倍。

简短的回答是否定的


较长的答案是肯定的。但是你必须进入网络嗅探(行不通-银行流量通常是加密的)或内存(从RAM中手动读取字符串等)。在这两种情况下,制作浏览器外接程序至少要容易1000倍。

可以通过开发浏览器外接程序和/或http(s)-代理和/或沙箱化浏览器和/或用修改版本替换浏览器和/或破解浏览器

如果你真的只想用一个普通的桌面应用程序,它是可以思考的(在浏览器中查询当前打开的URL),但我强烈建议不要这样做。。。它不能可靠地工作,会给资源带来一些压力


如果我必须实现这一点,我肯定会编写一个浏览器加载项和/或http(s)代理。。。您排除浏览器外接程序的原因是什么?

可以通过开发浏览器外接程序和/或http(s)代理和/或沙箱化浏览器和/或用修改版本替换浏览器和/或黑客攻击浏览器

如果你真的只想用一个普通的桌面应用程序,它是可以思考的(在浏览器中查询当前打开的URL),但我强烈建议不要这样做。。。它不能可靠地工作,会给资源带来一些压力


如果我必须实现这一点,我肯定会编写一个浏览器加载项和/或http(s)代理。。。为什么要为此排除浏览器外接程序?

假设,如果应用程序充当用户浏览器的HTTP代理,则是。。您可以拦截对银行网站的请求,并向用户提供建议。

假设,如果您的应用程序充当用户浏览器的HTTP代理,则可以。。您可以拦截银行网站的请求,并向用户提供建议。

这是不可能的。(至少不需要在每台计算机上进行大量工作和/或手动配置)

你有很多问题要解决:

  • 你将如何从“浏览器”中获取“url”
  • 那么安全呢
  • 如何确定是否启用了防病毒或防火墙
  • 让我们将一个“url”分成更小的部分(让我们仅限于http协议):

    HTTP是两个IP地址和两个端口之间的TCP/IP连接,服务器通常在端口80上响应(如果省略端口,则默认为80)。示例url:

    (通过http连接到端口456上的ip 123.123.123.123)

    然后我们有dns;域名将被转换为ip地址,例如:

    =>(dns将foobar.com翻译为123.123.123.123)

    现在,假设您向url添加了一条路径,例如:

    我们现在该怎么办?TCP/IP中没有“路径”这样的东西。它在HTTP级别上。让我们看看一个非常基本的HTTP URL,并将其转换为TCP/IP连接:

    =>

  • 客户端查找foobar.com=>123.123.123.123
  • 客户端在端口80上连接到123.123.123.123
  • 客户端将以下数据发送到服务器:
  • GET/path/to/page.htm HTTP/1.1 主持人:foobar.com 您将如何获得tcp/ip连接(及其“内容”)

    您有几个选择:

    • 一个过滤器(安装在网络层。敏感的东西,我尝试过的所有东西都会导致不稳定和性能损失,除了故障-防火墙…)
    • 代理(您必须确保每个浏览器都已通过您的代理重定向其网络流量-没有全局设置,每个浏览器都有自己的方式)
    • 浏览器的某种插件(您必须为每个浏览器编写一个新插件,并确保它已启用)
    让我们看一看安全性-如果使用HTTPS(HTTP和SSL),那么会引入另一个问题:每个网络连接的内容都是加密的,除非您拥有密钥,否则无法解密(你没有,除非你提供你自己的,但是浏览器不会信任你的密钥并发出一个大警告,除非你在浏览器中安装了你的密钥。你不想这样做-这是一个相当大的安全风险。)

    假设您已经解决了这个问题,您将如何知道是否安装并启用了防病毒?以及防火墙?每个防病毒和防火墙都有自己的方式。

    这是不可能的。(至少在每台计算机上都不需要进行大量工作和/或手动配置)

    你有很多问题要解决:

  • 你将如何从“浏览器”中获取“url”
  • 那么安全呢
  • 如何确定是否启用了防病毒或防火墙
  • 让我们将一个“url”分成更小的部分(让我们仅限于http协议):

    HTTP是两个IP地址和两个端口之间的TCP/IP连接,服务器通常在端口80上响应(如果省略端口,默认为80)。示例url:

    (通过http连接到端口456上的ip 123.123.123.123)

    然后我们有dns;域名将被转换为ip- GET /path/to/page.htm HTTP/1.1 Host: foobar.com