为什么 HttpWebRequest.GetResponse() 在连接到 VPN 后失败

本文关键字:VPN 失败 连接 HttpWebRequest GetResponse 为什么 | 更新日期: 2023-09-27 18:33:02

我试图通过本地局域网而不是互联网控制另一个房间的计算机,这在这种情况下是一个重要的区别。 这是通过发送带有查询字符串的HttpWebRequests来完成的,这些查询字符串命令远程计算机执行某些操作。其中一个命令是告诉远程计算机使用思科的AnyConnect客户端连接到VPN。 当它连接时,它应该向它已成功连接的控制计算机发送回一条回复。

由于某种原因,作为HttpWebRequest的回复将超时。 奇怪的是,我可以毫无问题地通过互联网发送HttpWebRequests,因此这似乎只是本地LAN问题。 为了解决这个问题,我创建了一个单独的控制台应用程序,调用该应用程序仅用于发送回复。 我不确定它有什么不同,但它有效。

这是控制台应用程序中的代码,这是主程序中使用的两行,无法正常工作。

 static void Main(string[] args)
    {
        // args[0] contains query string ie ?reply=VPNSuccess
        HttpWebRequest httpWebReq = (HttpWebRequest)WebRequest.Create(new  Uri("http://192.168.1.11:1000" + args[0]));
        HttpWebResponse httpWebResp = (HttpWebResponse)httpWebReq.GetResponse();
    }

为什么 HttpWebRequest.GetResponse() 在连接到 VPN 后失败

连接 VPN 后,远程计算机可能在不同的子网上具有无法路由回您的新 IP 地址。

如果我从家里将 VPN 连接到我的公司总部,一旦 vpn 连接,默认情况下我就无法再 ping 本地网络上的机器。这可以通过各种设置进行更改。