国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Unity 啟動(dòng)時(shí)帶參數(shù),網(wǎng)頁(yè)后端進(jìn)行數(shù)據(jù)交互 UnityWebRequest ,Post,Get,Delete

這篇具有很好參考價(jià)值的文章主要介紹了Unity 啟動(dòng)時(shí)帶參數(shù),網(wǎng)頁(yè)后端進(jìn)行數(shù)據(jù)交互 UnityWebRequest ,Post,Get,Delete。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

打包后啟動(dòng).exe帶參數(shù)

啟動(dòng)傳參數(shù)可以參考這篇文章: 瀏覽器調(diào)用本地exe(應(yīng)用程序)方法

Unity準(zhǔn)備工作

需要用到這個(gè)API

Environment.GetCommandLineArgs()

官方解釋:返回包含當(dāng)前進(jìn)程的命令行參數(shù)的字符串?dāng)?shù)組
返回值是一個(gè)string[],當(dāng)Length>1的時(shí)候就是帶參數(shù),注意:在UnityEditor模式也就是編輯器模式會(huì)有默認(rèn)參數(shù)返回,Length是大于1的

UnityWebRequest API使用

常用的就是Get與Post,代碼比較簡(jiǎn)單,有的地方傳參時(shí)需要注意有沒(méi)有RequestHeader,這個(gè)需要進(jìn)行特殊處理

代碼
	IEnumerator IePostRequest(string url, object mRequestData, GetDate getDate)
    {
        string paramStr = JsonUtility.ToJson(mRequestData);
        byte[] databyte = Encoding.UTF8.GetBytes(paramStr);
        using (var request = new UnityWebRequest(url, UnityWebRequest.kHttpVerbPOST))
        {
            request.uploadHandler = new UploadHandlerRaw(databyte);
            request.downloadHandler = new DownloadHandlerBuffer();

            request.SetRequestHeader("Content-Type", "application/json;charset=utf-8");
            request.SetRequestHeader("Authorization", "Bearer" + sessionId);
            request.SetRequestHeader("Content-Length", databyte.Length.ToString());

            yield return request.SendWebRequest();

            if (request.result != UnityWebRequest.Result.Success)
            {
                Debug.Log(request.error);
            }
            else
                getDate(request.downloadHandler.text);
        }
    }

    IEnumerator IeGetRequest(string url, GetDate getDate)
    {
        using (var request = new UnityWebRequest(url, UnityWebRequest.kHttpVerbGET))
        {
            request.SetRequestHeader("Content-Type", "application/json");
            request.SetRequestHeader("Authorization", "Bearer" + sessionId);
            request.downloadHandler = new DownloadHandlerBuffer();
            yield return request.SendWebRequest();

            if (request.result != UnityWebRequest.Result.Success)
            {
                Debug.Log(request.error);
            }
            else
                getDate(request.downloadHandler.text);
        }
    }

其中GetDate getDate是一個(gè)委托,用來(lái)接收返回的數(shù)據(jù)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-573997.html

public delegate void GetDate(string data);

完整代碼

using System;
using System.Collections;
using System.Text;
using UnityEngine;
using UnityEngine.Networking;

public class UnityPageRequest : MonoBehaviour
{
    /// <summary>
    /// token
    /// </summary>
    string sessionId;
    public delegate void GetDate(string data);

    private void Awake()
    {
        string[] CommandLineArgs = Environment.GetCommandLineArgs();
        string testData = "";
        if (CommandLineArgs.Length < 2)
        {
            Debug.Log("沒(méi)有參數(shù)");
            //Application.Quit();//啟動(dòng)時(shí)沒(méi)有參數(shù)則退出
        }
        else
        {
            if (CommandLineArgs[1] == "")
            {
                //啟動(dòng)參數(shù)是空的
            }
            else
            {
                //解析各種ID
                testData = CommandLineArgs[1];
            }
        }
        ParseInitData(testData);
    }
    void ParseInitData(string data)
    {
        //啟動(dòng)數(shù)據(jù)在這里進(jìn)行解析
        //sessionId = 解析的數(shù)據(jù)
    }
    public void PostRequest(string url, object mRequestData, GetDate getDate)
    {
        StartCoroutine(IePostRequest(url, mRequestData, getDate));
    }

    public void GetRequest(string url, string mRequestData, GetDate getDate)
    {
        StartCoroutine(IeGetRequest(url + mRequestData, getDate));
    }

    public void DeleteRequest(string url)
    {
        StartCoroutine(IeDeleteRequest(url));
    }


    IEnumerator IePostRequest(string url, object mRequestData, GetDate getDate)
    {
        string paramStr = JsonUtility.ToJson(mRequestData);
        byte[] databyte = Encoding.UTF8.GetBytes(paramStr);
        using (var request = new UnityWebRequest(url, UnityWebRequest.kHttpVerbPOST))
        {
            request.uploadHandler = new UploadHandlerRaw(databyte);
            request.downloadHandler = new DownloadHandlerBuffer();

            request.SetRequestHeader("Content-Type", "application/json;charset=utf-8");
            request.SetRequestHeader("Authorization", "Bearer" + sessionId);
            request.SetRequestHeader("Content-Length", databyte.Length.ToString());

            yield return request.SendWebRequest();

            if (request.result != UnityWebRequest.Result.Success)
            {
                Debug.Log(request.error);
            }
            else
                getDate(request.downloadHandler.text);
        }
    }

    IEnumerator IeGetRequest(string url, GetDate getDate)
    {
        using (var request = new UnityWebRequest(url, UnityWebRequest.kHttpVerbGET))
        {
            request.SetRequestHeader("Content-Type", "application/json");
            request.SetRequestHeader("Authorization", "Bearer" + sessionId);
            request.downloadHandler = new DownloadHandlerBuffer();
            yield return request.SendWebRequest();

            if (request.result != UnityWebRequest.Result.Success)
            {
                Debug.Log(request.error);
            }
            else
                getDate(request.downloadHandler.text);
        }
    }

    /// <summary>
    /// Delete請(qǐng)求(攜程)
    /// </summary>
    /// <returns></returns>
    public IEnumerator IeDeleteRequest(string url)
    {
        using (UnityWebRequest webRequest = UnityWebRequest.Delete(url))
        {
            yield return webRequest.SendWebRequest();
            if (!string.IsNullOrEmpty(webRequest.error))
            {
                Debug.Log(webRequest.error);
            }
            else
            {
                Debug.Log("Okk");
            }
        }
    }

}

到了這里,關(guān)于Unity 啟動(dòng)時(shí)帶參數(shù),網(wǎng)頁(yè)后端進(jìn)行數(shù)據(jù)交互 UnityWebRequest ,Post,Get,Delete的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 使用vue+springboot+mybatis開發(fā)的信息管理系統(tǒng),前端和后端是怎么進(jìn)行交互的

    1. 前端向后端發(fā)送http請(qǐng)求。 2. 后端接收到請(qǐng)求后,通過(guò)mybatis從數(shù)據(jù)庫(kù)中獲取所需數(shù)據(jù)。 3. 后端將處理完的數(shù)據(jù)通過(guò)restful api返回給前端。 4. 前端根據(jù)后端返回的數(shù)據(jù)進(jìn)行頁(yè)面渲染。 具體來(lái)說(shuō),可以分為以下幾個(gè)步驟: 前端使用vue.js作為基礎(chǔ)框架,使用axios庫(kù)向后端發(fā)送h

    2024年02月06日
    瀏覽(22)
  • unity點(diǎn)擊場(chǎng)景內(nèi)物體進(jìn)行交互

    unity點(diǎn)擊場(chǎng)景內(nèi)物體進(jìn)行交互

    提示:本文展示點(diǎn)擊事件,另有其他自行研究 前言 一、原理 二、使用步驟 1.使用前提 2.使用腳本 總結(jié) 很多情況下我們需要對(duì)場(chǎng)景內(nèi)的物體進(jìn)行交互,今天我們采用射線檢測(cè)的方法進(jìn)行點(diǎn)擊。 例如:點(diǎn)擊場(chǎng)景內(nèi)的Cube 進(jìn)行開始旋轉(zhuǎn) 提示:以下是本篇文章正文內(nèi)容,下面案例

    2024年02月11日
    瀏覽(23)
  • 全后端交互數(shù)據(jù)加密

    通信請(qǐng)求使用https 對(duì)請(qǐng)求參數(shù)進(jìn)行簽名,防止數(shù)據(jù)篡改 對(duì)請(qǐng)求參數(shù)以及響應(yīng)數(shù)據(jù)進(jìn)行加解密 app中使用ssl pinning防止抓包操作 [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-78n9M2PH-1677252127361)(安全.assets/https加密流程.jpg)] 加簽和驗(yàn)簽 :發(fā)送方將請(qǐng)求

    2024年02月03日
    瀏覽(14)
  • TransformControls 是 Three.js 中的一個(gè)類,用于在網(wǎng)頁(yè)中進(jìn)行 3D 場(chǎng)景中物體的交互式操作。

    TransformControls 是 Three.js 中的一個(gè)類,用于在網(wǎng)頁(yè)中進(jìn)行 3D 場(chǎng)景中物體的交互式操作。

    demo案例 TransformControls 是 Three.js 中的一個(gè)類,用于在網(wǎng)頁(yè)中進(jìn)行 3D 場(chǎng)景中物體的交互式操作。讓我們來(lái)詳細(xì)講解它的輸入?yún)?shù)、輸出、屬性和方法: 輸入?yún)?shù): TransformControls 構(gòu)造函數(shù)通常接受兩個(gè)參數(shù): camera (THREE.Camera):用于渲染場(chǎng)景的攝像機(jī)。這個(gè)參數(shù)是必需的。

    2024年04月15日
    瀏覽(93)
  • 若依ruoyi前端vue使用jsencrypt.js加密后端java進(jìn)行RSA解密(前后端交互RSA加解密)

    目錄 1、前后端RSA加解密實(shí)現(xiàn)思路 2、前端 3、后端 按照約定來(lái)說(shuō)公鑰一般用來(lái)加密,大家都可以獲取得到,私鑰用來(lái)解密,當(dāng)然你也可以混著用,以下示例是前端通過(guò)加密,后端解密. ?-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ81AMIIBCgKCAQEA1+05vAf7m5NcLNLkRtsm gp+QdzcW6MVdayGTGBJG0v

    2024年02月06日
    瀏覽(105)
  • 前端和后端交互數(shù)據(jù)類型轉(zhuǎn)換

    前端和后端交互數(shù)據(jù)類型轉(zhuǎn)換

    頁(yè)面是男/女 后端pojo類以及數(shù)據(jù)庫(kù)中是Integer 0/1? 怎么樣很方便地轉(zhuǎn)化? ----枚舉轉(zhuǎn)化-- 在web開發(fā)中有時(shí)會(huì)使用枚舉作為參數(shù),而前端在調(diào)接口時(shí)就會(huì)出現(xiàn)傳錯(cuò)或者傳空導(dǎo)致后端拿不到枚舉類型。在這里就使用反序列化@JsonDeserialize 這里是對(duì)枚舉進(jìn)行反序列化,所以首先編寫一個(gè)

    2024年03月26日
    瀏覽(18)
  • 【unity與android的交互】移動(dòng)游戲發(fā)布更安心!Unity安卓平臺(tái)打包相關(guān)的常見(jiàn)參數(shù)全詳解

    【unity與android的交互】移動(dòng)游戲發(fā)布更安心!Unity安卓平臺(tái)打包相關(guān)的常見(jiàn)參數(shù)全詳解

    ?????個(gè)人主頁(yè) :@元宇宙-秩沅 ????? hallo 歡迎 點(diǎn)贊?? 收藏? 留言?? 加關(guān)注?! ????? 本文由 秩沅 原創(chuàng) ????? 收錄于專欄 :Unity基礎(chǔ)實(shí)戰(zhàn) 首先需要切換到安卓平臺(tái) step1 :打包前的基礎(chǔ)參數(shù)的設(shè)置 step2:包名的設(shè)置需要勾選,必須要去設(shè)置的內(nèi)容 打包后進(jìn)行測(cè)

    2024年04月17日
    瀏覽(93)
  • vue使用axios發(fā)送post請(qǐng)求攜帶json body參數(shù),后端使用@RequestBody進(jìn)行接收

    vue使用axios發(fā)送post請(qǐng)求攜帶json body參數(shù),后端使用@RequestBody進(jìn)行接收

    最近在做自己項(xiàng)目中,做一個(gè)非常簡(jiǎn)單的新增用戶場(chǎng)景,但是使用原生axios發(fā)送post請(qǐng)求的時(shí)候,還是踩了不少坑的。 唉,說(shuō)多了都是淚,小小一個(gè)新增業(yè)務(wù),在自己前后端一起開發(fā)的時(shí)候,硬是搞了好久。 下面就把問(wèn)題總結(jié)分享下,防止后人再踩坑。 首先先看下我的接口定

    2024年02月02日
    瀏覽(24)
  • 【Tomcat】(Tomcat 下載Tomcat 啟動(dòng)Tomcat 簡(jiǎn)單部署 基于Tomcat進(jìn)行網(wǎng)站后端開發(fā))

    【Tomcat】(Tomcat 下載Tomcat 啟動(dòng)Tomcat 簡(jiǎn)單部署 基于Tomcat進(jìn)行網(wǎng)站后端開發(fā))

    Tomcat 是一個(gè) HTTP 服務(wù)器.HTTP 協(xié)議就是 HTTP 客戶端和 HTTP 服務(wù)器之間的交互數(shù)據(jù)的格式. HTTP 服務(wù)器我們可以通過(guò) Java Socket 來(lái)實(shí)現(xiàn). 而 Tomcat 就是基于 Java 實(shí)現(xiàn)的一個(gè)開源免費(fèi),也是被廣泛使用的 HTTP 服務(wù)器. 官方網(wǎng)站:https://tomcat.apache.org/download-80.cgi 在 bin 目錄中, 雙擊 startup.bat

    2024年02月12日
    瀏覽(25)
  • Unity開發(fā)進(jìn)行C、C++源碼交互,支持跨平臺(tái)

    Unity開發(fā)進(jìn)行C、C++源碼交互,支持跨平臺(tái)

    公司新項(xiàng)目,要和做C++算法的人一起合作開發(fā),起初項(xiàng)目定于Windows平臺(tái),就看了一些C++和DLL交互的一些資料,做了一套生成DLL交互的接口,后來(lái)項(xiàng)目寫方案由于設(shè)備又定到安卓平臺(tái),嘗試過(guò)打包之后,DLL打包不到安卓平臺(tái),試過(guò)將dll改名打AB包然后用Assembly.Load的方式,但這種

    2024年01月18日
    瀏覽(43)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包