www的基本用法(二)
来源:互联网 发布:想兼职淘宝客服 编辑:程序博客网 时间:2024/06/06 08:38
上篇文章,讲述了www的最常规用法。在使用http协议的时候,默认请求是Get请求。 而服务器接受请求,有两种常用方式:post请求和get请求。下面讲一下http协议中的两种请求。
1、Get请求
一般说来,www默认是Get请求,如果带上表单就变成了post请求。关于post请求和get请求可以自行搜索文章,这里只是介绍在客户端与服务器交互的时候,客户端该怎么办。
既然默认请求是get请求,那么直接输入网址就可以了,比如:
public IEnumerator getData(string url) { WWW www = new WWW(url); yield return www; }这种直接输入网址的方式就是Get请求,当然有的时候Form表单也有可能是Get请求。那就看具体需求了。
2、post请求
post请求一般会包含表单或者字典这种键值对存在的形式。在上传文件,发送个人数据时候都会用到。
先说form表单:
public IEnumerator getData(string url) { WWWForm form = new WWWForm(); form.AddField();//这里面就是键值对,具体就看服务器是需要什么数据了 byte[] bytes = new byte[0]; form.AddBinaryData("post", bytes);//这里就是post请求,发送数据是发送字节流,将所要发送的信息转成字节流就行 WWW www = new WWW(url,form); yield return www; }
表单中会有很多表,存在形式都为键值对,发送信息是以字节流的形式,所以文件还是数据都先要转换成字节流的形式。
关于form表单,假如用来上传文件的话,举个例子(上传图片为例子):
首先我们需要读取到本地文件,转成字节流,然后上传的时候说明文件格式就行了。
public IEnumerator getData(string url) { string path = Application.streamingAssetsPath+"/test.jpg";//图片的路径 WWW readFile = new WWW("file://"+path); yield return readFile; byte[] bytes = readFile.bytes; WWWForm form = new WWWForm(); form.AddField(); form.AddBinaryData("file", bytes,"这里是图片名称","image/jpg");//假设图片是jpg的图片 WWW www = new WWW(url,form); yield return www; }
第四个参数是说明文件格式。 通过表单上传文件,是post请求的延伸。
其次使用字典或者哈希表或者list集合请求:
SortedList<string, string> list = new SortedList<string, string>(); list.Add("username", "用户名"); list.Add("password", "密码"); var jsonData = JsonMapper.ToJson(list); //将我们的数据转换成json Dictionary<string, string> headers = new Dictionary<string, string>(); headers.Add("Content-Type", "application/json"); //告知服务器的数据类型 byte[] body = Encoding.UTF8.GetBytes(jsonData); WWW www = new WWW(url, body, headers); yield return www;
这样也能完成post请求,不过在后来的版本 出现了一个UnityWebRequest,可以直接发送post请求:
public IEnumerator getData(string url) { UnityEngine.Networking.UnityWebRequest request = new UnityWebRequest(url); yield return request.Send(); //如果没有request.Send() 请求是不会开始的 }
在后面的版本中,官方介绍UnityWebRequest,只是说明测试,并没有说废除www。
关于www的具体用法,大致就是这些。如果想一起探讨技术,可以添加扣扣群:478462732。
不过首先声明:我是菜鸟。
阅读全文
0 0
- www的基本用法(二)
- www的基本用法(一)
- RecyclerView的基本用法 (二)
- Spring的基本用法(二)
- Spring的基本用法(二)
- TortoiseGit的基本用法(二)
- tensorflow的基本用法(二)
- tensorflow的基本用法(二)
- 网站开发(二)基本了解www下的文件用途
- HBase基本用法 (二)
- latex 基本用法(二)
- tabhost基本用法(二)
- 基本的TCP/IP Socket用法(二)
- 基本的TCP/IP Socket用法(二)
- Srping源码深度解析(二)容器的基本用法
- Android之Service(二):服务的基本用法
- 安卓属性动画的基本用法(二)
- Spring源码深度解析(二)容器的基本用法
- MySQL 使用 Workbench 建表时 PK NN UQ BIN UN ZF AI G 的含义
- Win10使用Ctrl+Space切换输入法
- 利用PhotonServer 搭设自己的服务器(上)
- AlphaGo已死?但AI才刚刚开始
- 游戏服务端架构历史演进
- www的基本用法(二)
- transwarp Slipstream 简介之事件驱动流处理
- idea中实现struts2框架下国际化
- CY6936模型遥控2.4GHz系统的设计与实现
- Footable的简单用法
- web网站获取客户端服务端信息
- 快速排序
- Xml解析并计算物体坐标数值
- Pjsip笔记之pjsip使用示例