unity实现HTTP请求
unity中UnityWebRequest和WWW都可以实现HTTP请求,下面举例说明两种方法分别实现Get和Post请求
1、UnityWebRequest实现HTTP请求
Get请求
IEnumerator GetRequest(string url)
{using (UnityWebRequest webRequest = UnityWebRequest.Get(url)){yield return webRequest.SendWebRequest();if (!string.IsNullOrEmpty(webRequest.error)){Debug.LogError(webRequest.error);}else{Debug.Log(webRequest.downloadHandler.text);}}
}
Post请求
IEnumerator PostRequest(string url)
{WWWForm form = new WWWForm();form.AddField("name", "posttest");using (UnityWebRequest webRequest = UnityWebRequest.Post(url, form)){yield return webRequest.SendWebRequest();if (!string.IsNullOrEmpty(webRequest.error)){Debug.LogError(webRequest.error);}else{Debug.Log(webRequest.downloadHandler.text);}}
}
Post请求需要用到WWWForm来添加post数据,WWWForm.AddBinaryData还可以添加二进制数据(如上传文件)。
2、WWW实现HTTP请求
Get请求
IEnumerator GetRequest(string url)
{using (WWW www = new WWW(url)){yield return www;if (!string.IsNullOrEmpty(www.error)){Debug.LogError(www.error);}else{Debug.Log(www.text);}}
}
Post请求
IEnumerator PostRequest(string url)
{WWWForm form = new WWWForm();form.AddField("name", "posttest");using (WWW www = new WWW(url, form)){yield return www;if (!string.IsNullOrEmpty(www.error)){Debug.LogError(www.error);}else{Debug.Log(www.text);}}
}
为了验证上述请求,用Node搭建一个简单的服务器
Get请求测试服务器
var http = require("http");
var url=require('url');http.createServer(function(req, res){// 解析 url 参数,返回给客户端var params = url.parse(req.url, true).query;res.write("name:" + params.name);res.end();}).listen(8888);
运行服务器后,在客户端调用下列代码即可
string getUrl = "http://127.0.0.1:8888?name=gettest";
StartCoroutine(GetRequest(getUrl));
Post请求测试服务器
var http = require("http");
var querystring = require('querystring');
var util=require('util');
http.createServer(function(request, response) { var post = '';request.on('data', function(chunk){ post += chunk;});request.on('end', function(){ post = querystring.parse(post);response.end(util.inspect(post)); });
}).listen(8889);
客户端运行下列代码
string postUrl = "http://127.0.0.1:8889";
StartCoroutine(PostRequest(postUrl));
一切顺利的话会打印如下消息
unity实现HTTP请求相关推荐
- Unity | Unity发送Http请求并处理得到的Json数据
说明 Unity中UnityWebRequest和WWW都可以实现HTTP请求,这里使用的是UnityWebRequest发送Post请求. UnityAPI-UnityWebRequest 架构 U ...
- Unity使用UnityWebRequest请求服务器json数据,webgl端服务器请求
根据unity官方说的, WebGL 网络无法直接访问套接字 由于存在安全隐患,JavaScript 代码无法直接访问 IP 套接字来实现网络连接.因此,.NET 网络类(即 System.Net 命 ...
- Unity + SQL数据库创建管理玩家排行榜学习教程
Unity + SQL Databases Player Management Leaderboards + More! Unity + SQL数据库玩家管理排行榜+更多! MP4 |视频:h264, ...
- 【专栏精选】Unity中的HTTP网络通信
本文节选自洪流学堂公众号技术专栏<大话Unity2019>,未经允许不可转载. 洪流学堂公众号回复专栏,查看更多专栏文章. 洪流学堂,让你快人几步.你好,我是郑洪智. 大智:"小 ...
- Unity接入GooglePlay内购V4(源生Android方式)
Unity接GooglePlay In-App Billing坑还是蛮多的,各种坑. 接的方式目前来看有三种: 采用Unity IAP插件,开启Unity的IAP Service 采用Android源 ...
- HttpWebRequest 请求非常慢 下载非常慢
解决方案 在cookie中加入AspxAutoDetectCookieSupport=1 方法来源 如果你使用Unity进行下载 你会发现上述方法有提升但不明显,原因是Unity限制了请求并发数量,我 ...
- 未转变者3.20找不到服务器,Unturned未转变者3.20.14.0版本更新内容一览
Unturned未转变者3.20.14.0版本更新内容一览.本作于近日正式更新了3.20.14.0版本,下面就一起来看看本次更新的全部内容吧. 3.20.14.0版本更新内容 此次更新将游戏引擎的版本 ...
- unity发布成手机app怎么不能被顶_Unity中Android API 28之后无法HTTP请求
本文节选自洪流学堂公众号技术专栏<大话Unity2019>,未经允许不可转载. 洪流学堂公众号回复log获取最新版运行时查看日志的工具. 小新:"最近我升级到Android AP ...
- Unity中Android API 28之后无法HTTP请求
本文节选自洪流学堂公众号技术专栏<大话Unity2019>,未经允许不可转载. 洪流学堂公众号回复log,获取最新版运行时查看日志的工具. 小新:"最近我升级到Android A ...
最新文章
- php和css一样吗,php和css一样吗
- 多层感知机MLP、RBF网络、Hopfield网络、自组织映射神经网络、神经网络算法地图
- 【Kaggle-MNIST之路】CNN结构再改进+交叉熵损失函数(六)
- 青蛙学Linux—MySQL备份工具XtraBackup
- fastjson 1.1.71.android 版本发布,优化部分场景性能
- 将解决方案和项目放在同一目录中_借助CADENAS 3D电子目录,巴鲁夫使用CAE数据扩展其产品目录...
- matlab画图设置
- 如何使用Omni Remover Mac版释放Mac上的空间
- 小白R语言数据可视化进阶练习一
- html5在线画板菱形怎么画,使用HTML5构建一个在线画板应用
- 平方项知多少?平方项、分组回归与门槛模型
- animation中CrossFade的问题
- 程序员一些有意思的智力题整理
- 嵌入式Linux资源网站,嵌入式Linux名词及资源
- NVMe Zoned Namespaces (ZNS) SSDs
- 咏南ISAPI中间件
- 怎么给网页加动态背景
- MFC控件绘制透明png图片或者半透明图片
- 蓝桥杯 基础练习VIP FJ的字符串 java
- 关于互相帮忙投票的微信群、微信刷投票群、微信投票刷票群的详情介绍
热门文章
- 影子战术:将军之刃_神秘的指挥车:看战术包
- ElasticSearch数据库的使用简介
- tsung 安装及测试使用
- Android面试送分题:微信小程序的事件处理,年薪50W
- 台湾2018年虐童通报5.9万件 社会安全网被疑虚设
- 华为交换机常用功能配置
- 离线数仓——(新增用户业务指标,每日新增用户明细表,留存用户业务指标,用户留存明细表)
- 360免费WIFI可远程控制用户行为(种马弹shell窃取信息)
- mysql source 数据库_MySQL 数据库 source 命令详解及实例
- 无法进入系统的三星Android手机恢复联系人、短信数据并重置手机的过程