首页 > 其他分享 >Unity UnityWebRequest.Post传参Json数据

Unity UnityWebRequest.Post传参Json数据

时间:2023-08-29 09:56:06浏览次数:48  
标签:传参 请求 SetRequestHeader request Unity Json Post UnityWebRequest

UnityWebRequest.Post

Unity中的HTTP通信主要依赖的是Unity自带的UnityWebRequest类,之前的WWW类已被弃用
Post请求,向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
对应的调用方法:UnityWebRequest.Post

Url

资源地址,这块有个坑,地址必须拼写全,如:http://192.168.0.235:8089/queryStation,http://是不能省略的。

SetRequestHeader

SetRequestHeader用来设置请求的一些属性参数:
Content-Type报头,浏览器会根据报头来解析接收到的数据,显示为不同的内容。想要服务器给我们返回json格式的数据,就得设置:
SetRequestHeader(“Content-Type”, “application/json;charset=utf-8”)

测试代码:

public IEnumerator PostData(string jsondata)
    {
        var url = "http://192.168.0.235:8089/queryStation";
        byte[] databyte = Encoding.UTF8.GetBytes(jsondata);
        _request = new UnityWebRequest(url,UnityWebRequest.kHttpVerbPOST);
        _request.uploadHandler = new UploadHandlerRaw(databyte);
        _request.downloadHandler = new DownloadHandlerBuffer();
        _request.SetRequestHeader("Content-Type", "application/json;charset=utf-8");
        yield return _request.SendWebRequest();
        Debug.Log(_request.responseCode);
        
        if (_request.isHttpError || _request.isNetworkError)
        {
            Debug.LogError(_request.error);
        }
        else
        {
            Debug.Log(_request.downloadHandler.text);
        }
    }

HTTP常见状态码:

200 OK //客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

标签:传参,请求,SetRequestHeader,request,Unity,Json,Post,UnityWebRequest
From: https://www.cnblogs.com/dj1232090/p/17663963.html

相关文章

  • Dell UnityVSA 5.3 - 敏捷的软件定义存储
    DellUnityVSA5.3-敏捷的软件定义存储适用于SAN和NAS的软件定义的敏捷虚拟存储设备请访问原文链接:https://sysin.org/blog/dell-unityvsa-5/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgDellUnityVSA适用于SAN和NAS的软件定义的敏捷虚拟存储设备VM......
  • 开发了一个json格式化工具,使用js格式化json的代码分享
    今天给大家介绍一下如何通过js来格式化json。假设json字符串是:{"name":"刘德华","age":25.2,"birthday":"1990-01-01"}我们使用的是Js的JSON方法先把json字符串转为json对象,方法如下:varjsonString='{"name":"刘德华","age":35.2......
  • Newtonsoft.Json:JObject 动态添加字段/List<JObject>转DataTable
    1.JObject动态添加字段;varjsonObject=newJObject();foreach(varkeyinKeys){jsonObject.Add(key,value);}jsonObject.Add("*****","1");2. List<JObject>转DataTable1): 首先List<JObject>转stringList<JObject>jso......
  • cocos2dx 3.x打包出现Can't find config file .cocos-project.json in path
    youcanjustcreatea.cocos-project.jsonfileyourself.Allitcontainsisthefollowingcode: {"project_type":"cpp"如果是lua工程话,直接修改成lua即可。......
  • Unity RenderTexture 当作为 Camera.targetTexture 时,在某些安卓手机或模拟器无法显示
    今天打包的时候遇到一个坑,就是用RenderTexture的时候,在某些手机上会显示黑屏,一查发现这是某些安卓设备才会出现的BUG(奇怪的是那台测试机是鸿蒙系统,懂的都懂)解决方法也很简单,就是不能用RenderTexture资源,而改成动态代码创建即可解决这个BUG同时解决了另一个RenderTexture的BUG,就......
  • Unity3d 保存相机拍摄图像
    ///<summary>///生成相机照片并保存///</summary>///<paramname="PhotographyCamera">相机</param>///<paramname="imageMateData">图像宽高</param>publicvoidCreateCameraCaptureAndSaveLocal(CameraPhotographyCa......
  • Unity 中删除本地指定文件或文件夹
    voidStart(){//DeleteOldImages("E:\\AerialImages\\2023_08_24_15_57");DeleteDirectory("E:\\AerialImages\\2023_08_24_15_57");}///<summary>///删除指定文件夹下文件///</summary>///<paramname="fullDirP......
  • Unity 2D如何让背景图片拉伸填满整个窗口
    usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;[RequireComponent(typeof(SpriteRenderer))]publicclassSpriteFullScreen:MonoBehaviour{//StartiscalledbeforethefirstframeupdatevoidStart(){......
  • github.com/json-iterator/go 详细教程
    最近接触到了github.com/json-iterator/go,是由滴滴开源的第三方json编码库,它同时提供Go和Java两个版本。文中大量内容来自github上的wiki文档,有兴趣的朋友可以直接点击Home跳转到官方文档查阅。本文加了些自己的思考以及相关的详细学习例子,废话不多说了,冲!!!1、基础介......
  • 使用 XStream实现JavaBean 与 XML/JSON 之间相互转换
    XML和JSON是当今常用的两种数据描述与传输的格式,特别是涉及到JS时使用JSON颇为频繁。自然,在Java的世界里少不了完成JavaBean与这两种格式相互转换的组件,那就是XStream和JSON-lib。这里我简单记下XStream的用法。其实相类似的工具早已有之。如果用过DWR的同志,一定有印像,DWR进行远程......