我正在尝试在代理身份验证背后的网络下发送HttpWebRequest
。
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "POST";
req.Proxy = new WebProxy("192.168.0.2", 8080);
req.UserAgent = "Mozilla/5.0";
req.Proxy.Credentials =new NetworkCredential("username","password","DOMAINNAME");
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
StreamReader sr = new StreamReader(resp.GetResponseStream());
现在我希望获得与其连接的DOMAINNAME
无线网络。那么,我如何获得使用192.168.0.2
主机名指定的无线网络域名?
感谢您的进步:)
答案 0 :(得分:1)
查看Win32_NetworkAdapterConfiguration管理类,该类公开DNSDomain
属性,这可能就是您想要的。查看访问ManagementClass对象的类的System.Management
命名空间。
例如,此代码段将为您提供一组对象,一个用于当前计算机上的每个网络适配器,并打印其DNS域属性。
var mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
foreach (var networkAdapter in mc.GetInstances())
{
Console.WriteLine(networkAdapter.Properties["DNSDomain"].Value);
}
答案 1 :(得分:0)
你想做的事情是行不通的。您所使用的域名是凭据的一部分,用于通过身份验证代理。因此,您需要从获得用户名和密码的相同位置(即可能由用户输入)获取它。从无线网络(甚至机器)获取域并不能保证它与所用用户所属的域相匹配。
举个例子:
Contoso Ltd 有一个名为 contoso.local 的域名(其中包含W2k别名 CONTOSO )。
他们的用户以 CONTOSO \ bob.smith 的身份登录到域 他们的无线网络的SSID是 ContosoLtd 。用于代理凭据的正确域名是 CONTOSO 。
当您要求使用用户名和密码作为凭据时,也要求输入域名。