c# - 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 中的响应说不支持的浏览器。
我尝试过的所有方法在开发中都可以正常工作,但在生产中失败了。该WebClient
代码在生产服务器上运行得非常好,直到昨天为止 - 可能银行改变了一些东西。任何帮助将非常感激。
解决方案
推荐阅读
- unix - 从每一行获取最大值和最小值(unix)
- java - 如何定义用于 apache camel 的 MS SQL 数据源?
- windows - 列表项中的嵌套 UI 未正确水平对齐
- javascript - FirebaseError:无效的文档参考。文档引用必须有偶数个段
- python - 在多个 PyTorch 张量算子上运行 GPU
- sql - 如果表名在左连接中颠倒,会导致右连接吗?
- apache-spark - 在 Pyspark 数据框中的多列上执行函数
- amazon-s3 - 如何引用在云形成中创建的 S3 存储桶
- mysql - 如何从创建列求和
- r - R闪亮的应用程序没有运行服务器功能