我正在尝试存储位于此链接中的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之间有什么区别?浏览器是否有其他操作?
任何建议都会非常感激。