首页 > 其他分享 >unity前后端通信 json解析 HTTP POST(BestHttp插件实现)

unity前后端通信 json解析 HTTP POST(BestHttp插件实现)

时间:2023-07-04 12:12:20浏览次数:50  
标签:HTTPRequest 插件 HTTP 请求 BestHttp request Json public string

1.配置请求体中的Json字符串

1 request_data = new RequestBodyClass();
2 request_data.a = "Json第一个字段";
3 request_data.b = "Json第二个字段";
4 string body = JsonUtility.ToJson(request_data);

2.实例化HTTPRequest,请求头方法设置为POST,并且设置请求头中类型为json,请求类型有误可能会导致后端报错;使用RawData配置请求体内容。

1 // BestHttp插件, 首先实例化一个HTTPRequest, 设置为Post形式, 并配置回调函数RequestHandle
2 request = new HTTPRequest(new Uri("http://localhost:8080/queryTest"),
3                                    HTTPMethods.Post, RequestHandle);
4 request.RawData = Encoding.UTF8.GetBytes(body);
5 request.SetHeader("Content-Type", "application/json");
6 request.Send();

3. 配置回调函数RequestHandle,其中response的Data字段为响应体字节流,使用JsonConvert进行解包,注意类中的字段和Json中字段名要完全相同,Json中的数组在类中也对应为数组,二维数组则继续套娃。

 1 private void RequestHandle(HTTPRequest originalrequest, HTTPResponse response)
 2 {
 3     string resStr = Encoding.UTF8.GetString(response.Data);
 4     Request_Data res = JsonConvert.DeserializeObject<Request_Data>(resStr);
 5 }
 6  
 7 // 下面写了一种Json中数组嵌套数组的类的写法
 8 public class Resquest_Data
 9 {
10     public int num_People;
11     public People[] people;
12 }
13  
14 public class People
15 {
16     public string name;
17     public int num_Children;
18     public Children[] children;
19 }
20  
21 public class Children
22 {
23     public string name;
24 }

 

注意问题:

1.请求头里的类型要配置对,否则后端可能不能返回值

2.如果Http请求选择保持连接,TCP连接也会在9次请求后自动断开,之后会有报错,注意再次建立连接或者每次请求都重新创建链接。

标签:HTTPRequest,插件,HTTP,请求,BestHttp,request,Json,public,string
From: https://www.cnblogs.com/stuxuan/p/17525408.html

相关文章

  • 原生 new XMLHttpRequest() 请求
       letxhr=newXMLHttpRequest();    //先new一个 xhr.open("POST","https://chunyuanqing.cn/adminapi/order/batchdelivery/import");  //请求的类型     请求的地址 xhr.setRequestHeader('Authori-zation',bz);       ......
  • C# 使用HttpListener时候异常(此平台不支持此操作:System.PlatformNotSupportedExceptio
    C#使用HttpListener时候异常(此平台不支持此操作:System.PlatformNotSupportedException)代码:HttpListenerlistener=newHttpListener();错误:System.PlatformNotSupportedException:OperationisnotsupportedonthisplatformInSystem.Net.HttpListener..ctor()解决办......
  • Flask插件---flask-caching (缓存)
    Flask插件---flask-caching(缓存)安装pipinstallflask-caching加载配置插件在exts.py文件中配置#exts.py:插件管理#扩展的第三方插件#1.导入第三方插件fromflask_sqlalchemyimportSQLAlchemyfromflask_migrateimportMigratefromflask_cachingimportC......
  • Java 中使用 OkHttpClent 请求接口 get方式 post方式
    学习记录,不喜勿喷什么是OkHttp一般在Java平台上,我们会使用ApacheHttpClient作为Http客户端,用于发送HTTP请求,并对响应进行处理。比如可以使用http客户端与第三方服务(如SSO服务)进行集成,当然还可以爬取网上的数据等。OKHttp与HttpClient类似,也是一个Http客户端,提供了对HTTP......
  • 腾讯云服务器配置https转发到其他端口号
    1.服务器域名解析 2.域名申请免费ssl证书 3.把证书下载到服务器解压4.配置nginx的配置文件server{listen18080ssl;server_namewww.shoubanchengshi.com;#需要将yourdomain.com替换成证书绑定的域名。ssl_certificate/www/server......
  • requests.exceptions.ProxyError: HTTPSConnectionPool(host='xxx', port=443)
    #绕过系统设置的代理#方法一:session=requests.Session()session.trust_env=Falseresponse=session.get('http://ff2.pw')#方法二:(多人亲测可以直接结局这个问题)proxies={"http":None,"https":None}requests.get("http://ff2.pw",proxi......
  • Apache HTTP Server 与 Tomcat 的三种连接方式介绍
    首先我们先介绍一下为什么要让Apache与Tomcat之间进行连接。事实上Tomcat本身已经提供了HTTP服务,该服务默认的端口是8080,装好tomcat后通过8080端口可以直接使用Tomcat所运行的应用程序,你也可以将该端口改为80。既然Tomcat本身已经可以提供这样的服务,我们为什么还......
  • jmeter---解决同一线程组下不同http采样器使用不同请求头的问题
    问题:某个线程组M中包含一个信息头管理器1,和a、b、c、d等多个http取样器,这几个取样器共用一个信息头管理器1,但当我再增加一个接口请求e时,发现此接口请求ed的请求头中的content-type是需要application/x-www-form-urlencoded类型的,而信息头管理器1中定义的content-type是appli......
  • Visual Studio插件推荐
    MarkdownEditor功能:在VisualStudio中编辑Markdown文件。打开Markdown文件,右键可以打开插件的设置。比较难理解的几个设置......
  • Silhouette 2023.0.1 CE 影视后期ROTO跟踪抠像合成软件 支持AE/PR/达芬奇/VEGAS/OFX插
    Silhouette是一款被广泛应用于影视剧中Roto、抠像、擦威亚的特效合成辅助软件,正所谓术业有专攻,它就是为了应对这些脏活累活而诞生的。之前还有一款软件CommotionPro,但是已经停止开发,目前已经被这款Silhouette所替代,目前它也属于BorisFX家族的一员。软件下载Silhouette2023.......