[英]How can I tell if a phone is connected by wifi or has access to mobile internet via C#?
[英]c# Application cannot access the internet if I am connected to a VPN
我正在開發一個需要持續互聯網連接的應用程序,以便按照規范運行。
我面臨的問題是,如果我連接到VPN,那么應用程序根本無法訪問互聯網。
以下是我嘗試檢查服務器是否可訪問的代碼的一部分:
try
{
using (var client = new System.Net.WebClient())
{
//var networkCredentials = new NetworkCredential("shumais", "password");
//WebProxy myProxy = new WebProxy("192.168.0.61", 8080) { Credentials = networkCredentials };
//WebProxy myProxy = new WebProxy("192.168.0.61", 8080);
//client.Proxy = WebRequest.GetSystemWebProxy();
IWebProxy proxy = WebRequest.GetSystemWebProxy();
proxy.Credentials = CredentialCache.DefaultCredentials;
client.UseDefaultCredentials = true;
client.Proxy = proxy;
using (var stream = client.OpenRead(WebUrls.URL_BASE_REQUEST))
{
_isServerReachable = true;
}
}
}
catch (Exception)
{
_isServerReachable = false;
}
我有代碼使用/不使用代理,現在只需要讓我的應用程序在連接到任何VPN時工作。
任何幫助將不勝感激,謝謝。
如果您使用的是Microsoft PPTP VPN,則需要在VPN連接的TCP / IPv4高級設置中取消選中“在遠程網絡上使用默認網關”。
由於您嘗試使用默認網絡憑據訪問該站點,請確保將默認代理添加到app.config文件,並添加一個cookie容器(嚴重聽起來很愚蠢,但看起來它也在幫助其他人)。
看看我對這篇文章的回答: 如何在.Net應用程序中使用IE代理服務器設置及其憑據
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.