首页 > 解决方案 > WebClient 返回错误 500 - WebException 响应说:不支持的浏览器

问题描述

我正在尝试从银行网站上的 URL 获取包含汇率的 CSV 文件。当我在浏览器中手动访问链接时,我可以下载汇率。即使在开发机器(Win10、IIS 10)上,代码也可以正常访问文件。当我将应用程序移动到生产服务器(Win2012 R2,IIS 8.5)时,问题就出现了。

WebException 响应:<!DOCTYPE html> <html class="ltr" dir="ltr" lang="sk"><head> <title>Nepodporovaný prehliadač - ČSOB</title> <meta content="text/html; charset=UTF-8" http-equiv="content-type"> <link href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAF...它像这样继续 - 大约 65 000 个字符。

Nepodporovaný prehliadač = 不支持的浏览器。

我尝试按照此处的建议设置用户代理:.net webclient 返回 500 错误,但浏览器中的 url 很好

WebClient client = new WebClient();

client.Headers["User-Agent"] = "Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)";

即使以这种方式设置用户代理,仍然会出现异常。

我尝试使用WebRequest而不是WebClient(如此处建议:如何从该 URL 获取文件中的内容?)但同样的异常发生在错误 500 和 WebException 中的响应说不支持的浏览器。

我尝试访问的 URL:https ://www.csob.sk/delegate/getExchangeRatesExport?EXPORT_TYPE=CSV&DISPLAY=CURRENCY&DATE=2019011607

我尝试过的所有方法在开发中都可以正常工作,但在生产中失败了。该WebClient代码在生产服务器上运行得非常好,直到昨天为止 - 可能银行改变了一些东西。任何帮助将非常感激。

标签: c#asp.netwebclientwebrequest

解决方案


推荐阅读