[Unity学习教程] unity使用HTTP中post方式哀求调用接口

[复制链接]
查看1056 | 回复0 | 2023-8-23 11:42:27 | 显示全部楼层 |阅读模式 来自 中国北京
 unity自带的UnityWebRequest提供了构成 HTTP 哀求和处置惩罚 HTTP 响应。
构造函数:
public UnityWebRequest();
public UnityWebRequest(Uri uri);
public UnityWebRequest(string url);
public UnityWebRequest(Uri uri, string method);
public UnityWebRequest(string url, string method);
public UnityWebRequest(string url, string method, DownloadHandler downloadHandler, UploadHandler uploadHandler);
public UnityWebRequest(Uri uri, string method, DownloadHandler downloadHandler, UploadHandler uploadHandler);
简朴的例子:
  1. using FF = StarEngineTec.Generic.FormatFunc;
  2. string url="";//请求地址
  3. string jsonData="";//需要上传的json数据
  4. IEnumerator UploadPost()
  5. {
  6.     UnityWebRequest uwr = new UnityWebRequest(url, "POST");
  7.     uwr.uploadHandler = new UploadHandlerRaw(FF.StringToBytes(jsonData));
  8.     uwr.downloadHandler = new DownloadHandlerBuffer();
  9.     //如果有请求头,根据具体字段要求设置
  10.     uwr.SetRequestHeader("Content-Type", "application/json");
  11.     uwr.SetRequestHeader("app-version", "V1");
  12.     yield return uwr.SendWebRequest();
  13.     if (uwr.isHttpError || uwr.isNetworkError)
  14.     {
  15.          Debug.LogError("Login Error: " + uwr.error);
  16.     }
  17. }
复制代码
其他常用方法:
public static UnityWebRequest Post(Uri uri, Dictionary<string, string> formFields);
public static UnityWebRequest Post(Uri uri, WWWForm formData);
public static UnityWebRequest Post(string uri, WWWForm formData);
public static UnityWebRequest Post(Uri uri, string postData);
public static UnityWebRequest Post(string uri, string postData);
public static UnityWebRequest Post(string uri, Dictionary<string, string> formFields);
  1. IEnumerator Upload(string str)
  2. {
  3.        WWWForm form = new WWWForm();
  4.        form.AddField("data", str);
  5.        UnityWebRequest webRequest = UnityWebRequest.Post(url, form);
  6.        yield return webRequest.SendWebRequest();
  7.        if (webRequest.isHttpError || webRequest.isNetworkError)
  8.            Debug.Log(webRequest.error);
  9.        else      
  10.            Debug.Log(webRequest.downloadHandler.text);
  11. }
复制代码
一样平常上传完数据会返回条消息,可以根据code值判断乐成与否,以及哀求失败的缘故起因


来源:https://blog.csdn.net/u011175163/article/details/124429475
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则