繁体   English   中英

使用C#Agility Pack从IIS 7中托管的代理服务器应用程序中读取网站

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM