请求网页在c#欺骗主机

我需要创建一个发送到我们网站的网页的请求,但是我也需要设置主机头信息.我已经尝试使用HttpWebRequest,但是头信息是只读的(或至少它的主机部分).我需要这样做,因为我们要在用户可以之前执行页面的初始请求.我们有10个Web服务器负载平衡,因此我们需要从每个Web服务器请求该文件.

我已经尝试过以下内容:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://192.168.1.5/filename.htm");
request.Headers.Set("Host", "www.mywebsite.com");
WebResponse response = request.GetResponse();

显然这不行,因为我不能更新标题,我不知道这是否是正确的方法.

虽然这是一个很晚的答案,也许有人可以得到它的好处

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(new Uri("http://192.168.1.1"));
request.Headers.GetType().InvokeMember("ChangeInternal", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.InvokeMethod, null, request.Headers, new object[] {"Host","www.mysite.com"});

反思是你的朋友:)

相关文章
相关标签/搜索