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

时间:2012-05-01 19:18:40

标签: c# httpwebrequest httpwebresponse

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

出于某种原因,HttpWebRequest的回复会超时。奇怪的是,我可以通过互联网发送HttpWebRequests没有问题,所以它似乎只是本地局域网问题。为了解决这个问题,我创建了一个单独的控制台应用程序,只是为了发送回复而调用。我不确定它有什么不同,但它确实有效。

以下是控制台应用程序中的代码,这些代码是主程序中使用的两行无效。

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

    }

1 个答案:

答案 0 :(得分:0)

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

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