从URL下载xml文件

时间:2016-08-02 04:25:18

标签: c# xml webclient

我正在尝试存储位于此链接中的xml文件中的数据:Link to xml file

xml文件基本上包含问题以及与英语语法相关的选项。保存这些文件的主要原因是我可以稍后解析这些信息

从浏览器(Chrome或IE),正常加载xml文件,但以编程方式保存它不起作用。问题是从该URL检索的数据似乎是其他东西。

这是我从网址

获取数据的代码
        using (WebClient client = new WebClient())
        {
            client.Encoding = Encoding.UTF8;

            // the data retrieved is something meaning : "Link does not exist"
            string data = client.DownloadString("http://farm04.gox.vn/edu/IOE_Exam/IOE/l5/v1/g1/exam1.xml?v=");
        }

上面的方法只提供一个字符串,表明没有这样的链接(虽然我仍然认为服务器本身发送它而不是404错误)。

我的第二次尝试是使用WebRequest和WebResponse,但没有运气。我已经读过WebClient是后一种方法的包装类,所以两者都给出相同的结果

        WebRequest request = WebRequest.Create(Url);

        WebResponse response = request.GetResponse();

        using (Stream stream = response.GetResponseStream())
        {
            return new StreamReader(stream).ReadToEnd();
        }

我认为服务器有一种机制可以防止客户端下载它。但是Chrome可以通过加载页面然后“Ctrl + S”(另存为...)成功完成工作,以保存xml文件而不会出现任何问题。

浏览器和WebClient API之间有什么区别?浏览器是否有其他操作?

任何建议都会非常感激。

0 个答案:

没有答案