我正在尝试弄清楚是否有一种方法可以在不修改DNS或主机文件的情况下将主机名解析为某个IP。
使用C#,我从客户机发请求到服务器,但是我必须在请求中使用主机名,这样证书才能正确地验证请求。但是,我的程序是在没有管理员权限的情况下运行的,所以我不能修改主机文件。我有正确的IP和主机名,有没有其他方法可以让计算机将主机名解析为IP?
发布于 2012-06-12 04:48:40
看起来解决这个问题的最简单方法是创建一个有权修改主机文件的服务,然后从主程序调用该服务。该服务运行单个命令并退出。由于服务可以具有提升的状态,因此您实际上可以将管理员权限封装在标准用户程序中。
发布于 2012-06-12 02:29:38
发布于 2016-10-21 13:39:51
public bool ModifyHostsFile(string sEntryIPAddr, string sEntryURL)
{
try
{
using (StreamWriter w = File.AppendText(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), @"drivers\etc\hosts")))
{
w.WriteLine(sEntryIPAddr+" "+ sEntryURL);
return true;
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return false;
}
}https://stackoverflow.com/questions/10985510
复制相似问题