修改
This commit is contained in:
parent
af0490c527
commit
07a53e60fb
@ -62,7 +62,6 @@ namespace AlicizaX
|
|||||||
|
|
||||||
private static UnityWebRequest CreateJsonPostRequest(string url, string json)
|
private static UnityWebRequest CreateJsonPostRequest(string url, string json)
|
||||||
{
|
{
|
||||||
// 手动处理 JSON(Unity 未提供直接方法)
|
|
||||||
var request = new UnityWebRequest(url, "POST");
|
var request = new UnityWebRequest(url, "POST");
|
||||||
byte[] jsonBytes = System.Text.Encoding.UTF8.GetBytes(json);
|
byte[] jsonBytes = System.Text.Encoding.UTF8.GetBytes(json);
|
||||||
request.uploadHandler = new UploadHandlerRaw(jsonBytes);
|
request.uploadHandler = new UploadHandlerRaw(jsonBytes);
|
||||||
@ -73,13 +72,15 @@ namespace AlicizaX
|
|||||||
|
|
||||||
private static async UniTask<string> SendRequest(UnityWebRequest request, CancellationToken token)
|
private static async UniTask<string> SendRequest(UnityWebRequest request, CancellationToken token)
|
||||||
{
|
{
|
||||||
|
string url = request.url; // 提前获取请求地址
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
await request.SendWebRequest().WithCancellation(token);
|
await request.SendWebRequest().WithCancellation(token);
|
||||||
|
|
||||||
if (request.result != UnityWebRequest.Result.Success)
|
if (request.result != UnityWebRequest.Result.Success)
|
||||||
{
|
{
|
||||||
Debug.LogError($"HTTP Error ({request.responseCode}): {request.error}");
|
HandleRequestError(request, url);
|
||||||
return string.Empty;
|
return string.Empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,10 +88,29 @@ namespace AlicizaX
|
|||||||
}
|
}
|
||||||
catch (OperationCanceledException) when (token.IsCancellationRequested)
|
catch (OperationCanceledException) when (token.IsCancellationRequested)
|
||||||
{
|
{
|
||||||
Debug.LogWarning("Request timed out.");
|
Log.Error($"请求超时:{url}");
|
||||||
return string.Empty;
|
return string.Empty;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void HandleRequestError(UnityWebRequest request, string url)
|
||||||
|
{
|
||||||
|
switch (request.result)
|
||||||
|
{
|
||||||
|
case UnityWebRequest.Result.ConnectionError:
|
||||||
|
Log.Error($"无法访问地址:{url}");
|
||||||
|
break;
|
||||||
|
case UnityWebRequest.Result.ProtocolError:
|
||||||
|
Log.Error($"HTTP协议错误 ({request.responseCode}):{url}\n{request.error}");
|
||||||
|
break;
|
||||||
|
case UnityWebRequest.Result.DataProcessingError:
|
||||||
|
Log.Error($"数据处理错误:{url}\n{request.error}");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Log.Error($"未知网络错误:{url}\n{request.error}");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user