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实现服务器上文件的下载(一)相关推荐

  1. windows主机用scp命令向Linux服务器上传和下载文件

    windows主机用scp命令向Linux服务器上传和下载文件 文章目录: 一.scp介绍 二.scp上传和下载 1.上传 2.下载 三.scp的更多参数 一.scp介绍 scp是secure cop ...

  2. java拷贝远程服务器上文件,java拷贝远程服务器上文件

    java拷贝远程服务器上文件 内容精选 换一换 在Windows模式下,调试功能暂不可用.为支持多交叉架构的调试场景,需要在安装MindStudio的服务器(UI Host)上安装gdb-multia ...

  3. java 跨服务器 文件拷贝,java拷贝远程服务器上文件

    java拷贝远程服务器上文件 内容精选 换一换 已成功登录Java性能分析.待安装Guardian的服务器已开启sshd.待安装Guardian的服务器已安装JRE,JRE版本要求为Huawei JD ...

  4. MacBook 往服务器上传、下载文件的几种操作

    文章目录 说明 1 FinalShell 2 Termius 说明 往服务器传文件.下载文件有很多种方法,可以使用scp.rsync或者rs/sz MacBook上的rz和sz 配置起来比较麻烦 这里 ...

  5. scp 服务器文件到本地,scp将远程服务器上文件拷贝到本地

    scp将远程服务器上文件拷贝到本地 内容精选 换一换 目前开发的新项目使用的版本控制工具基本用的都是Git,老项目用的还是Svn,网上Git资源也很多,多而杂.一. Git 命令初识在正式介绍Git命 ...

  6. java获取服务器上指定文件,java 读取服务器上文件

    java 读取服务器上文件 [2021-02-04 10:02:14]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace("/ ...

  7. 服务器上复制文件到本地会有什么,scp将远程服务器上文件拷贝到本地

    scp将远程服务器上文件拷贝到本地 内容精选 换一换 1.openssh简介:用于远程连接服务器主机,通信过程和认证过程都是加密的,比telnet更安全.2.openssh版本:v1版本:无法防范中间 ...

  8. 怎么从服务器上文件拷贝下来

    win系统: 一.在服务器上面安装FTP服务端,通常是可以让服务商帮你安装的.然后在本地电脑上安装flashfxp工具.用该工具登录FTP并把服务器上面的数据下载到本地电脑. 二.在本地电脑点开始-运 ...

  9. 为什么文件上传不了服务器上,文件上传存在服务器还是数据库

    文件上传存在服务器还是数据库 内容精选 换一换 本章介绍如何在管理控制台购买GaussDB(for openGauss)实例,并通过内网使用弹性云服务器连接GaussDB(for openGauss) ...

最新文章

  1. JS详细入门教程(上)
  2. python爬快手个人介绍个性_快手个性个人介绍句子签名 快手自己介绍模板句子...
  3. C++类模版------STL的原理
  4. xcode 不能读取键盘输入的汉字_C++:cin从控制台读取数据时的结束符
  5. 编译安装 apache 2.4.6
  6. 基础数学落后与高端人才流失
  7. 模拟组合键 postmessage ctrl+v_《模拟江湖》:TapTap热门榜单第一,测试版评分8.0的汉家松鼠工作室新作...
  8. Asp.net导出Excel/Csv文本格式数据
  9. Matter-JS friction 摩擦力
  10. LayaAir graphics 绘制文本
  11. 从心理学角度看,如何通过故事影响客户的决策?
  12. Qt+OpenCV配置教程(图解亲测)
  13. python窗口截图快捷键_python 自定义截图快捷键
  14. 高远球技术(羽毛球)
  15. Android——扩大ImageButton的点击区域
  16. EditPlus中文版安装链接
  17. css中的图标字体的实现方案及原理和工具使用
  18. 折腾是职场人生的宝贵财富
  19. 《区块链革命》读书笔记 8 克服困难:实施过程中的10个挑战
  20. Generative Pre-training

热门文章

  1. [jQuery基础] jQuery对象 -- 选择器
  2. 从R-CNN到Faster R-CNN漫谈
  3. matplotlib导包
  4. python小测试1答案_测试1:Python 基本语法(选择题
  5. java重定向url怎么写_Java:如何从重定向的URL中读取内容?
  6. element-ui组件中的input等的change事件中传递自定义参数
  7. Qt笔记——添加菜单图片/添加资源文件
  8. 通过Python实现简单的计算器
  9. Yii2.x 互斥锁Mutex-类图
  10. 用WebCollector制作一个爬取《知乎》并进行问题精准抽取的爬虫(JAVA)