学无先后达者为师!
不忘初心,砥砺前行。

dotnet 使用 HttpClient 发送请求时指定服务器 IP 地址

因为 DNS 的存在,我们发送一个 HTTP 请求时无需关心域名对应的 IP 地址究竟是什么。

var http = new HttpClient();
var html = await http.GetStringAsync("https://www.coderbusy.com");

出于优化访问速度或负载均衡等原因,不同的时刻、不同的地区访问同一个资源时对应的 WEB 服务器可能是不相同的。比如在访问 luyao.coderbusy.com 这个 CDN 域名时,用户会被解析到距离最近的节点上,可以通过站长工具查看详情:https://ping.chinaz.com/luyao.coderbusy.com

出于某些原因,我们可能需要使用指定的 IP 地址来处理请求,而不是使用 DNS 解析结果。要做到这一点,除了在本地修改 HOST 文件之外,还可以使用以下代码:(假设需要请求本机架设的模拟服务器,地址就是 127.0.0.1 )

var http = new HttpClient();
//把 Host 部分替换为要请求的域名
var url = "https://127.0.0.1/";
using (var request = new HttpRequestMessage(HttpMethod.Get, url))
{
	request.Headers.Host = "www.coderbusy.com";//这里填写真实的 HOST
	using (var response = await http.SendAsync(request))
	{
		Console.WriteLine(await response.Content.ReadAsStringAsync());
	}
}
赞(3) 打赏
未经允许不得转载:码农很忙 » dotnet 使用 HttpClient 发送请求时指定服务器 IP 地址

评论 抢沙发

给作者买杯咖啡

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册