unity 使用UnityWebRequest报错HTTP/1.1 400 Bad Request
时间: 2023-05-18 08:07:26 浏览: 1691
这个错误通常是由于请求格式不正确或参数不正确导致的。你可以检查一下你的请求格式和参数是否正确,或者查看服务器返回的详细错误信息来解决这个问题。如果你需要更具体的帮助,可以提供更多的信息,比如你的代码和服务器返回的错误信息。
相关问题
UnityWebRequest request = UnityWebRequest.Post(url, ""); request.SetRequestHeader("videoName", videoName);videoName报错
UnityWebRequest的Post方法的第二个参数是要发送的数据,不能传空字符串。如果只需要设置请求头,可以将第二个参数改成一个空的byte数组,如下所示:
```
UnityWebRequest request = UnityWebRequest.Post(url, new byte[]{});
request.SetRequestHeader("videoName", videoName);
```
这样就不会报错了。
// 构造请求 UnityWebRequest request = new UnityWebRequest(url, "POST"); byte[] bodyRaw = System.Text.Encoding.UTF8.GetBytes(json); request.uploadHandler = (UploadHandler)new UploadHandlerRaw(bodyRaw); request.downloadHandler = (DownloadHandler)new DownloadHandlerBuffer(); request.SetRequestHeader("Content-Type", "application/json"); // 发送请求 yield return request.SendWebRequest(); // 处理返回结果 if (request.isNetworkError) { Debug.Log(request.error); resultText.text = request.error; }替换掉result,unity版本太老,总是报错
如果您的 Unity 版本太老,无法使用 Result 枚举类型,您可以使用以下方式替换代码中的 `request.isNetworkError`:
```
// 构造请求
UnityWebRequest request = new UnityWebRequest(url, "POST");
byte[] bodyRaw = System.Text.Encoding.UTF8.GetBytes(json);
request.uploadHandler = (UploadHandler)new UploadHandlerRaw(bodyRaw);
request.downloadHandler = (DownloadHandler)new DownloadHandlerBuffer();
request.SetRequestHeader("Content-Type", "application/json");
// 发送请求
yield return request.Send();
// 处理返回结果
if (request.isError)
{
Debug.Log(request.error);
resultText.text = request.error;
}
```
这段代码中使用了 `request.isError` 来判断是否发生网络错误。如果 `isError` 为 true,则表示发生了网络错误,可以通过 `request.error` 获取错误信息。
阅读全文