使用 C# 敏捷包从 IIS 7 中承载的代理服务器应用程序读取网站

本文关键字:代理服务器 应用程序 网站 读取 IIS 使用 | 更新日期: 2023-09-27 18:31:58

我正在创建一个 ASP.NET MVC 4网站,该网站从其他网站检索优惠并将其内容汇总到我的网站中。(基本上,这只是为我和一些工作朋友提供的食物,当我们出去吃午饭时使用。

我正在使用敏捷包来阅读网站,如下所示:

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 时遇到:访问被拒绝。访问 控制配置可防止在此时允许您的请求 时间。如果您认为这是 不對。缓存管理员已生成 11月25日星期二 2014 12:22:30 GMT 通过代理地址 (鱿鱼).

请注意,我已使用 ASP.NET v4.0 应用程序池配置了我的 Web 应用程序。

我的代码中缺少什么吗?

使用 C# 敏捷包从 IIS 7 中承载的代理服务器应用程序读取网站

应用程序池的标识没有访问代理服务器所需的权限。

可以将应用程序池的标识设置为具有权限的用户,也可以在代码中设置用户的标识。

var request = WebRequest.Create("http://foo.bar/file.doc");
request.Credentials = new System.Net.NetworkCredential("username", "password");