我正在使用下面的代码来拉取我们的第三方开发页面之一,因此我可以将其解析为XML以用于我的随机工作.
我们有兴趣在服务器上设置浏览器检测级别,只允许某些浏览器访问该站点;所以问题是我如何伪造它以便服务器认为它是浏览器请求?
static string GetHtmlPage(string strURL) { String strResult; System.Net.WebResponse objResponse; System.Net.WebRequest objRequest = System.Net.HttpWebRequest.Create(strURL); objResponse = objRequest.GetResponse(); using (System.IO.StreamReader sr = new System.IO.StreamReader(objResponse.GetResponseStream())) { strResult = sr.ReadToEnd(); sr.Close(); } return strResult; }
解决方法
浏览器检测基于对服务器的请求中的标头来完成.您需要做的就是设置标题.但是,使用HttpWebRequest时,不要通过headers集合设置它,而是使用.UserAgent属性.
... System.Net.WebRequest objRequest = System.Net.HttpWebRequest.Create(strURL); //Pretend to be IE7 ((System.Net.HttpWebRequest)objRequest).UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)"; objResponse = objRequest.GetResponse(); ...
原文地址:https://www.jb51.cc/aspnet/251494.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。