UN4L4——HTTP下载数据
UN4L4——HTTP下载数据
HTTP下载数据
Head请求类型:主要用于获取文件的一些基础信息 可以用于确定文件是否存在
Get请求类型:主要用于传递信息给服务器,用于获取具体信息,服务器返回的信息,可以通过Response中的流来获取
用Get请求时,可以在连接中携带一些额外参数(在链接后面加上:?参数名=参数值&参数名=参数值&参数名=参数值&...)
正常的http服务器应用程序,都会去解析Get请求时连接中的参数进行逻辑处理(后端程序的工作)
我们主要要掌握的知识点:
额外参数按格式书写
通过response对象中的流来获取返回的数据(数据的类型多种多样,可以是文件、自定义消息等等,我们按照规则解析即可)
在和http服务器通信时,我们经常会使用额外参数的形式传递信息,特别是以后和一些运营平台对接时
文件下载功能和Ftp非常类似,只是其中使用的类、协议、请求类型不同而已
检测资源可用性
首先创建一个HttpWebRequest对象,Create方法传入要检测的资源的地址
操作命令使用WebReques ...
UN4L3——HTTP关键类
UN4L3——HTTP关键类
Http相关通讯类的使用和Ftp非常类似,只有一些细节上的区别,之后我们在学习上传下载时再来着重讲解
本章代码关键字
123456789101112131415161718192021222324252627282930313233//发送客户端请求HttpWebRequest //主要用于发送客户端请求的类HttpWebRequest.Create() //创建新的WebRequest,用于进行HTTP相关操作httpWebRequest.Abort() //如果正在进行文件传输,用此方法可以终止传输httpWebRequest.GetRequestStream() //获取用于上传的流httpWebRequest.GetResponse() //返回HTTP服务器响应,也即返回一个HttpWebResponse对象httpWebRequest.BeginGetRequestStream() ...
UN4L2——搭建HTTP服务器
UN4L2——搭建HTTP服务器
搭建HTTP服务器
在实际商业项目开发当中
HTTP 资源服务器 可以自己写也可以用别人做好的软件
HTTP 网站服务器 或 游戏服务器 需要自己根据需求进行实现
这些工作一般都是由后端或者运维程序员来进行制作,我们主要做了解,我们之后主要着重学习前端HTTP相关的知识点
在游戏开发时,我们更多时候需要的是HTTP的资源服务器,除非你要做短连接游戏,那么后端程序可以以HTTP协议为基础来开发服务端应用程序
我们只需要学习前端用于进行HTTP通信的相关知识即可
搭建HTTP服务器的几种方式
使用别人做好的HTTP服务器软件,一般作为资源服务器时使用该方式(学习阶段建议使用)
自己编写HTTP服务器应用程序,一般作为Web服务器 或者 短连接游戏服务器 时使用该方式(工作后由后端程序员来做)
一般在工作中不会由我们来完成这部分工作
使用别人做好的HTTP服务器软件来搭建HTTP资源服务器
下载hfs等HTTP服务器软件,在想要作为HTTP资源服务器的电脑上运行即可
如果可行,浏览器Open in browser提供的网址应该就可以看见内容
使用别人 ...
UN4L1——HTTP工作原理
UN4L1——HTTP工作原理
HTTP
HTTP(HyperText Transfer Protocol)超文本传输协议,是因特网上应用最为广泛的一种网络传输协议。
最初设计HTTP的目的是为了提供一种发布和接收由文本文件组成的HTML页面的方法,
后来发展到除了文本数据外,还可以传输图片、音频、视频、压缩文件以及各种程序文件等。
HTTP主要用于超文本传输,因此相对FTP显得更简单一些,目前常见的HTTP标准是HTTP/1.1.
说人话:HTTP超文本传输协议就是一个在网络中上传下载文件的一套规则
HTTP是什么
HTTP超文本传输协议就是一个在网络中上传下载文件的一套规则
HTTP工作原理(短连接)
HTTP超文本传输协议的本质是TCP通信,连接—>请求—>响应—>断开
HTTP协议的请求类型和响应状态码
请求方法:GET和POST
响应状态码:1xx消息、2xx成功、3xx重定向、4xx请求错误、5xx服务器错误
我们如何学习FTP
C#中的类WebRequest、HttpWebRequest、HttpWebResponse等
Uni ...
UN4——HTTP超文本传输协议网络通信方案
UN4——HTTP超文本传输协议网络通信方案
HTTP
文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。
它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;
而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当。
HTTP_百度百科 (baidu.com)
本系列学习内容
HTTP工作原理
搭建HTTP服务器
C#的相关类
HTTP关键类
下载数据
上传数据
Unity的相关类
WWW类
WWWFrom类
UnityWebRequest类
UnityWebRequest类高级操作 —— 获取数据、上传数据
UN3L6——其它操作
UN3L6——其它操作
其它操作
除了上传和下载,我们可能会对FTP服务器上的内容进行其它操作,比如:
删除文件
获取文件大小
创建文件夹
获取文件列表
等等
进行其他操作
删除文件
删除哪个文件取决于在创建连接时传入了哪个文件的路径
删除文件的命令通过WebRequestMethods.Ftp.DeleteFile获取,
执行FtpWebRequest.GetResponse()就会真正的执行删除的逻辑
123456789101112131415161718192021222324252627282930313233//FtpManager内/// <summary>/// 移除指定的文件/// </summary>/// <param name="fileName">文件名</param>/// <param name="action">移除过后要做什么的委托</param>public async void DeleteFile(string fileNam ...
UN3L5——FTP下载文件
UN3L5——FTP下载文件
使用FTP下载文件关键点
通信凭证:进行Ftp连接操作时需要的账号密码
操作命令:WebRequestMethods.Ftp,设置你想要进行的Ftp操作
文件流相关 FileStream 和 Stream,上传和下载时都会使用的文件流,下载文件流使用FtpWebResponse类获取
保证FTP服务器已经开启,并且能够正常访问
FTP下载
C#已经把Ftp相关操作封装的很好了,我们只需要熟悉API,直接使用他们进行FTP下载即可
我们主要做的操作是:把下载文件的FTP流读出字节数据写入到本地文件流中
下载前,通过FtpWebRequest.Create()传入的参数决定要下载什么文件,下载的文件名一定要是资源服务器上有的
然后对必要的属性进行设置,例如凭证,是否保持连接,操作类型,是否使用二进制传输数据等
然后使用ftpWebRequest.GetResponse()来获取下载相关的响应FtpWebResponse,
再通过ftpWebResponse.GetResponseStream()获取下载数据所用的流
再创建文件流,文件的路径 ...
UN3L4——FTP上传文件
UN3L4——FTP上传文件
使用FTP上传文件关键点
通信凭证:进行Ftp连接操作时需要的账号密码
操作命令:WebRequestMethods.Ftp,设置你想要进行的Ftp操作
文件流相关 FileStream 和 Stream,上传和下载时都会使用的文件流
保证FTP服务器已经开启,并且能够正常访问
FTP上传
C#已经把FTP相关操作封装的很好了,我们只需要熟悉API,直接使用他们进行FTP上传即可
我们主要做的操作是:把本地文件流读出字节数据写入到要上传的FTP流中
上传前,通过FtpWebRequest.Create()传入的参数决定上传文件到什么位置,文件名是什么
然后对必要的属性进行设置,例如凭证,是否保持连接,操作类型,是否使用二进制传输数据等
然后使用req.GetRequestStream()来获取上传数据所用的流,
再创建文件流,文件流对应读取的文件一定要是本地存在的文件
然后通过字节数组一点一点从本地文件流获取数据,再写入到上传流内,
循环执行以上步骤,直到本地文件流获取不到新数据,上传就结束了。
12345678910111213141516 ...
UN3L3——FTP关键类
UN3L3——FTP关键类
通过C#提供的这3个FTP关键类,我们便可以完成客户端向FTP服务器操作文件的需求,比如上传、下载、删除文件
本章代码关键字
12345678910111213141516171819202122232425262728293031NetworkCredential //通信凭证类,用于在FTP文件传输时,设置账号密码//用于上传、下载、删除服务器上的文件FtpWebRequest //Ftp文件传输协议客户端操作类FtpWebRequest.Create() //创建新的WebRequest,用于进行Ftp相关操作ftpWebRequest.Abort() //如果正在进行文件传输,用此方法可以终止传输ftpWebRequest.GetRequestStream() //获取用于上传的流ftpWebRequest.GetRespo ...
UN3L2——搭建FTP服务器
UN3L2——搭建FTP服务器
搭建FTP服务器的几种方式
使用别人做好的FTP服务器软件 (学习阶段建议使用)
自己编写FTP服务器应用程序,基于FTP的工作原理,用Socket中TCP通信来进行编程(工作后由后端程序员来做)
将电脑搭建为FTP文件共享服务器(工作后由后端程序员来做)
第2,3点我们前端程序主要做了解,一般在工作中不会由我们来完成这部分工作
使用别人做好的FTP服务器软件来搭建FTP服务器
下载Serv-U等FTP服务器软件,在想要作为FTP服务器的电脑上运行它即可
创建域 直接不停下一步即可
使用单向加密
创建用于上传下载的 FTP 账号和密码
对于FTP服务器的搭建
在实际商业项目开发当中,如果需要用FTP来进行文件传输
那么FTP服务器的解决方案都是由后端程序员来完成的,不管它使用哪种方式来搭建FTP服务器
只要能正常上传下载内容并且保证安全性即可