我正在尝试从银行网站上的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 returns 500 error, but url in browser is fine:
WebClient client = new WebClient();
client.Headers["User-Agent"] = "Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)";
即使使用这种方式设置用户代理,异常仍然会出现。
我尝试使用WebRequest
代替WebClient
(如此处建议的How to get content from file from this URL?),但相同的异常发生在错误500和WebException中的响应说不支持的浏览器上。
我要访问的URL:https://www.csob.sk/delegate/getExchangeRatesExport?EXPORT_TYPE=CSV&DISPLAY=CURRENCY&DATE=2019011607
我尝试过的所有方法在开发中都可以正常工作,但在生产中却失败了。 WebClient
代码在生产服务器上可以正常工作约一年,直到昨天为止-银行可能已更改了某些内容。任何帮助将不胜感激。