[英]C# Using HTML Agility Pack and Need To programmatically Login To Website
[英]Reading a website using C# Agility Pack from a proxied server application hosted in IIS 7
我正在创建一个ASP.NET MVC 4网站,该网站从其他网站检索报价并将其内容汇总到我的网站中。 (基本上,这只是我和一些工作朋友在外出午餐时使用的食物。)
我正在使用Agility Pack来阅读以下网站:
HtmlWeb webget = new HtmlWeb();
WebProxy wp = new WebProxy(new Uri("http://my-proxy.proxy.proxy.proxy:<port>"), true);
wp.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
var doc = webget.Load(url, "GET", wp,
System.Net.CredentialCache.DefaultNetworkCredentials);
在Visual Studio中运行,它可以工作。 但是当我从IIS运行它时,出现以下错误:
错误:无法检索到所请求的URL。 尝试检索URL时遇到以下错误: 访问被拒绝 。 访问控制配置可防止此时允许您的请求。 如果您认为这是不正确的,请与您的服务提供商联系。 您的缓存管理员是通过代理地址(鱿鱼)于格林威治标准时间2014年11月25日星期二12:22:30生成的。
请注意,我已经使用ASP.NET v4.0应用程序池配置了Web应用程序。
我的代码中缺少任何内容吗?
应用程序池的标识没有访问代理服务器所需的权限。
您可以将应用程序池的标识设置为具有权限的用户,也可以在代码内设置用户的标识。
var request = WebRequest.Create("http://foo.bar/file.doc");
request.Credentials = new System.Net.NetworkCredential("username", "password");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.