WebRequest之HttpWebRequest实现服务器上文件的下载(一)

简介:

WebRequest是操作WEB请求的抽象象,它作为所有WEB请求的基类,主要由FileWebRequestFtpWebRequest、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实现服务器上文件的下载(一),如需转载请自行联系原博主。

目录
相关文章
|
5月前
|
机器学习/深度学习 存储 监控
内部文件审计:企业文件服务器审计对网络安全提升有哪些帮助?
企业文件服务器审计是保障信息安全、确保合规的关键措施。DataSecurity Plus 是由卓豪ManageEngine推出的审计工具,提供全面的文件访问监控、实时异常告警、用户行为分析及合规报告生成功能,助力企业防范数据泄露风险,满足GDPR、等保等多项合规要求,为企业的稳健发展保驾护航。
135 0
|
5月前
|
安全 Linux Shell
使用SCP命令在CentOS 7上向目标服务器传输文件
以上步骤是在CentOS 7系统上使用SCP命令进行文件传输的基础,操作简洁,易于理解。务必在执行命令前确认好各项参数,尤其是目录路径和文件名,以避免不必要的传输错误。
521 17
|
5月前
|
自然语言处理 Unix Linux
解决服务器中Jupyter笔记本的文件名字符编码问题
通过上述步骤,可以有效解决Jupyter笔记本的文件名字符编码问题,确保所有文件能在服务器上正常访问并交互,避免因编码问题引起的混淆和数据丢失。在处理任何编码问题时,务必谨慎并确保备份,因为文件名变更是
192 17
|
6月前
|
C# 图形学 开发者
Unity开发中使用UnityWebRequest从HTTP服务器下载资源。
总之,UnityWebRequest就是游戏开发者手中的万能钓鱼竿,既可以获取文本数据,也能钓上图片资源,甚至是那声音的涟漪。使用UnityWebRequest的时候,你需要精心准备,比如确定URL、配置请求类型和头信息;发起请求;巧妙处理钓获的数据;还需要机智面对网络波澜,处理各种可能出现的错误。按照这样的过程,数据的钓取将会是一次既轻松愉快也效率高效的编程钓鱼之旅。
286 18
|
5月前
|
安全 Linux 网络安全
Python极速搭建局域网文件共享服务器:一行命令实现HTTPS安全传输
本文介绍如何利用Python的http.server模块,通过一行命令快速搭建支持HTTPS的安全文件下载服务器,无需第三方工具,3分钟部署,保障局域网文件共享的隐私与安全。
1008 0
|
8月前
|
Python
使用Python实现multipart/form-data文件接收的http服务器
至此,使用Python实现一个可以接收 'multipart/form-data' 文件的HTTP服务器的步骤就讲解完毕了。希望通过我的讲解,你可以更好地理解其中的逻辑,另外,你也可以尝试在实际项目中运用这方面的知识。
363 69
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
238 9
|
存储 UED Windows
Windows服务器上大量文件迁移方案
Windows服务器上大量文件迁移方案
984 1
|
9月前
|
前端开发 Cloud Native Java
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
Java||Springboot读取本地目录的文件和文件结构,读取服务器文档目录数据供前端渲染的API实现
|
存储 监控 固态存储
【vSAN分布式存储服务器数据恢复】VMware vSphere vSAN 分布式存储虚拟化平台VMDK文件1KB问题数据恢复案例
在一例vSAN分布式存储故障中,因替换故障闪存盘后磁盘组失效,一台采用RAID0策略且未使用置备的虚拟机VMDK文件受损,仅余1KB大小。经分析发现,该VMDK文件与内部虚拟对象关联失效导致。恢复方案包括定位虚拟对象及组件的具体物理位置,解析分配空间,并手动重组RAID0结构以恢复数据。此案例强调了深入理解vSAN分布式存储机制的重要性,以及定制化数据恢复方案的有效性。
336 5

热门文章

最新文章