UnityWebRequest数据为空
UnityWebRequest data is blank
我正在使用 Flask 服务器并让 Unity 访问它。在 Postman 中测试它(使用 platform:test)给了我 ImmutableMultiDict([('platform', 'test')])
(Flask 中 request.form 的结果)有效。但是当 unity 发出 post 请求(提供的代码)时,它给了我 ImmutableMultiDict([])
。我不完全确定这是 Unity 还是 Flask 的问题。非常感谢帮助。
IEnumerator PostRequest(string url)
{
WWWForm form = new WWWForm();
form.AddField("platform", "test");
UnityWebRequest uwr = UnityWebRequest.Post(url, form);
uwr.uploadHandler.contentType = "multipart/form-data";
yield return uwr.SendWebRequest();
if (uwr.isNetworkError)
{
Debug.Log("Error While Sending: " + uwr.error);
}
else
{
Debug.Log("Received: " + uwr.downloadHandler.text);
}
}
我已经解决了这个问题。
Unity 的数据格式与 PostMan 大不相同,我的 Flask 服务器无法读取它。我没有在 Flask 中使用 request.form[key]
或 request.data[key]
,而是发现 request.form.getlist(key)
可以完美地处理 Postman 的请求和 Unity 的请求。
我正在使用 Flask 服务器并让 Unity 访问它。在 Postman 中测试它(使用 platform:test)给了我 ImmutableMultiDict([('platform', 'test')])
(Flask 中 request.form 的结果)有效。但是当 unity 发出 post 请求(提供的代码)时,它给了我 ImmutableMultiDict([])
。我不完全确定这是 Unity 还是 Flask 的问题。非常感谢帮助。
IEnumerator PostRequest(string url)
{
WWWForm form = new WWWForm();
form.AddField("platform", "test");
UnityWebRequest uwr = UnityWebRequest.Post(url, form);
uwr.uploadHandler.contentType = "multipart/form-data";
yield return uwr.SendWebRequest();
if (uwr.isNetworkError)
{
Debug.Log("Error While Sending: " + uwr.error);
}
else
{
Debug.Log("Received: " + uwr.downloadHandler.text);
}
}
我已经解决了这个问题。
Unity 的数据格式与 PostMan 大不相同,我的 Flask 服务器无法读取它。我没有在 Flask 中使用 request.form[key]
或 request.data[key]
,而是发现 request.form.getlist(key)
可以完美地处理 Postman 的请求和 Unity 的请求。