WebRequest之HttpWebRequest实现服务器上文件的下载(一)
WebRequest是操作WEB请求的抽象象,它作为所有WEB请求的基类,主要由FileWebRequest、FtpWebRequest、HttpWebRequest这三个类进行实现。(选自MSDN)今天主要说一下
HttpWebRequest,从名字上看,他肯定是用来操作HTTP请求的,没错,正是如此。
标头 |
设置方 |
---|---|
Accept |
由 Accept 属性设置。 |
Connection |
由 Connection 属性和 KeepAlive 属性设置。 |
Content-Length |
由 ContentLength 属性设置。 |
Content-Type |
由 ContentType 属性设置。 |
Expect |
由 Expect 属性设置。 |
Date |
由系统设置为当前日期。 |
Host |
由系统设置为当前主机信息。 |
If-Modified-Since |
由 IfModifiedSince 属性设置。 |
Range |
由 AddRange 方法设置。 |
Referer |
由 Referer 属性设置。 |
Transfer-Encoding |
由 TransferEncoding 属性设置(SendChunked 属性必须为 true)。 |
User-Agent |
由 UserAgent 属性设置。 |
一个小例子,从网上下载图片,到本地,并进行保存。
代码如下:
Uri downUri = new Uri(@"http://img1.c2cedu.com/image/new/images/freebg.png");
//建立一个WEB请求,返回HttpWebRequest对象
HttpWebRequest hwr = (HttpWebRequest)WebRequest.Create(downUri);
//设置接收对象的范围为0-10000000字节。
hwr.AddRange(0, 10000000);
//流对象使用完后自动关闭
using (Stream stream = hwr.GetResponse().GetResponseStream())
{
//文件流,流信息读到文件流中,读完关闭
using (FileStream fs = File.Create(@"c:\gif.png"))
{
//建立字节组,并设置它的大小是多少字节
byte[] bytes = new byte[102400];
int n = 1;
while (n > 0)
{
//一次从流中读多少字节,并把值赋给N,当读完后,N为0,并退出循环
n = stream.Read(bytes, 0, 10240);
fs.Write(bytes, 0, n); //将指定字节的流信息写入文件流中
}
}
}
从上面的例子,我们可以看到HttpWebRequest操作流程是,建立链接,客户端请求,服务端响应,关闭链接四步。
本文转自博客园张占岭(仓储大叔)的博客,原文链接:WebRequest之HttpWebRequest实现服务器上文件的下载(一),如需转载请自行联系原博主。
WebRequest之HttpWebRequest实现服务器上文件的下载(一)相关推荐
- windows主机用scp命令向Linux服务器上传和下载文件
windows主机用scp命令向Linux服务器上传和下载文件 文章目录: 一.scp介绍 二.scp上传和下载 1.上传 2.下载 三.scp的更多参数 一.scp介绍 scp是secure cop ...
- java拷贝远程服务器上文件,java拷贝远程服务器上文件
java拷贝远程服务器上文件 内容精选 换一换 在Windows模式下,调试功能暂不可用.为支持多交叉架构的调试场景,需要在安装MindStudio的服务器(UI Host)上安装gdb-multia ...
- java 跨服务器 文件拷贝,java拷贝远程服务器上文件
java拷贝远程服务器上文件 内容精选 换一换 已成功登录Java性能分析.待安装Guardian的服务器已开启sshd.待安装Guardian的服务器已安装JRE,JRE版本要求为Huawei JD ...
- MacBook 往服务器上传、下载文件的几种操作
文章目录 说明 1 FinalShell 2 Termius 说明 往服务器传文件.下载文件有很多种方法,可以使用scp.rsync或者rs/sz MacBook上的rz和sz 配置起来比较麻烦 这里 ...
- scp 服务器文件到本地,scp将远程服务器上文件拷贝到本地
scp将远程服务器上文件拷贝到本地 内容精选 换一换 目前开发的新项目使用的版本控制工具基本用的都是Git,老项目用的还是Svn,网上Git资源也很多,多而杂.一. Git 命令初识在正式介绍Git命 ...
- java获取服务器上指定文件,java 读取服务器上文件
java 读取服务器上文件 [2021-02-04 10:02:14] 简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace("/ ...
- 服务器上复制文件到本地会有什么,scp将远程服务器上文件拷贝到本地
scp将远程服务器上文件拷贝到本地 内容精选 换一换 1.openssh简介:用于远程连接服务器主机,通信过程和认证过程都是加密的,比telnet更安全.2.openssh版本:v1版本:无法防范中间 ...
- 怎么从服务器上文件拷贝下来
win系统: 一.在服务器上面安装FTP服务端,通常是可以让服务商帮你安装的.然后在本地电脑上安装flashfxp工具.用该工具登录FTP并把服务器上面的数据下载到本地电脑. 二.在本地电脑点开始-运 ...
- 为什么文件上传不了服务器上,文件上传存在服务器还是数据库
文件上传存在服务器还是数据库 内容精选 换一换 本章介绍如何在管理控制台购买GaussDB(for openGauss)实例,并通过内网使用弹性云服务器连接GaussDB(for openGauss) ...
最新文章
- JS详细入门教程(上)
- python爬快手个人介绍个性_快手个性个人介绍句子签名 快手自己介绍模板句子...
- C++类模版------STL的原理
- xcode 不能读取键盘输入的汉字_C++:cin从控制台读取数据时的结束符
- 编译安装 apache 2.4.6
- 基础数学落后与高端人才流失
- 模拟组合键 postmessage ctrl+v_《模拟江湖》:TapTap热门榜单第一,测试版评分8.0的汉家松鼠工作室新作...
- Asp.net导出Excel/Csv文本格式数据
- Matter-JS friction 摩擦力
- LayaAir graphics 绘制文本
- 从心理学角度看,如何通过故事影响客户的决策?
- Qt+OpenCV配置教程(图解亲测)
- python窗口截图快捷键_python 自定义截图快捷键
- 高远球技术(羽毛球)
- Android——扩大ImageButton的点击区域
- EditPlus中文版安装链接
- css中的图标字体的实现方案及原理和工具使用
- 折腾是职场人生的宝贵财富
- 《区块链革命》读书笔记 8 克服困难:实施过程中的10个挑战
- Generative Pre-training
热门文章
- [jQuery基础] jQuery对象 -- 选择器
- 从R-CNN到Faster R-CNN漫谈
- matplotlib导包
- python小测试1答案_测试1:Python 基本语法(选择题
- java重定向url怎么写_Java:如何从重定向的URL中读取内容?
- element-ui组件中的input等的change事件中传递自定义参数
- Qt笔记——添加菜单图片/添加资源文件
- 通过Python实现简单的计算器
- Yii2.x 互斥锁Mutex-类图
- 用WebCollector制作一个爬取《知乎》并进行问题精准抽取的爬虫(JAVA)