Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用C#HTTP GET下载文件_C# - Fatal编程技术网

使用C#HTTP GET下载文件

使用C#HTTP GET下载文件,c#,C#,如何使用HTTP GET for C#4.0而不是普通的webclient.download下载文件?我认为这是一个GET请求。您是否希望流式传输响应 using (var client = new WebClient()) using (var sr = new StreamReader(client.OpenRead("http://www.mypage.com"))) return sr.ReadToEnd(); 如果您正在尝试模拟web浏览器,您仍然可以使用,只需确保设置用户代

如何使用HTTP GET for C#4.0而不是普通的webclient.download下载文件?

我认为这是一个GET请求。您是否希望流式传输响应

using (var client = new WebClient())
using (var sr = new StreamReader(client.OpenRead("http://www.mypage.com")))
    return sr.ReadToEnd();

如果您正在尝试模拟web浏览器,您仍然可以使用,只需确保设置用户代理即可

WebClient client = new WebClient ();
client.Headers.Add ("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");

如果您还需要在请求中设置cookie,只需扩展类并重写GetWebRequest()方法。

WebClient有什么问题?你想做什么?我想模拟web浏览器的请求,这就是web客户机的实际功能。此外,您还可以为此使用套接字您可以使用HttpWebRequest、Sockets、TcpClient。。你能解释一下为什么WebClient不能满足你的要求吗?我需要模拟一个移动web浏览器HTTP 1.1 GET请求来下载一个文件,因为我下载的网站只接受移动客户端。所以我只需将请求中的十六进制信息保存到一个具有所需扩展名的文件中。实际上,在这一点上,你就拥有了整个“文件”作为一个字符串,您可以使用任何扩展名保存该字符串。然而,如果您的目标是模拟浏览器,那么您可以通过修改标题使其看起来像Rob的帖子中的移动设备请求来实现。