C# UnityWebRequest向HTTP发送空白数据
这是我向主机发送数据的示例,但我认为它发送的是空白数据。例如,在“serverKeycode”中,我发送“example”,但服务器只接收“” C# PHP 当从PHP返回JSON并在Unity中打印C# UnityWebRequest向HTTP发送空白数据,c#,unity3d,http-post,C#,Unity3d,Http Post,这是我向主机发送数据的示例,但我认为它发送的是空白数据。例如,在“serverKeycode”中,我发送“example”,但服务器只接收“” C# PHP 当从PHP返回JSON并在Unity中打印$message时,它不会打印任何内容 那么这是否意味着Unity没有发送数据 它曾经在我以前的网络主机上工作,而且,如果我通过邮递员发送邮件请求,一切都很好。我需要在防火墙中允许某些内容吗?在调用之前,返回www.SendWebResquest()只需添加www.chunkedTransfer=f
$message
时,它不会打印任何内容
那么这是否意味着Unity没有发送数据
它曾经在我以前的网络主机上工作,而且,如果我通过邮递员发送邮件请求,一切都很好。我需要在防火墙中允许某些内容吗?在调用
之前,返回www.SendWebResquest()
只需添加www.chunkedTransfer=false代码>试着从php打印一个静态变量,看看您可以从unity端收到它。例如,echo“Hello”代码>。我还认为您应该包括如何从php发送json。那部分不见了。你从C#那里收到的信息也丢失了。我也在unity论坛上打开了一个帖子,他们告诉我把UnityWebRequest上的chunkedTransfer
发送到false
,这就解决了问题!谢谢你的评论。请把这个作为你问题的答案。我相信它会对其他遇到它的人有用。
WWWForm form = new WWWForm();
form.AddField("serverKeycode", "example");
form.AddField("username", authUsername.text);
form.AddField("password", authPassword.text);
UnityWebRequest www = UnityWebRequest.Post("http://example.com/authenticate.php", form);
yield return www.SendWebRequest();
header("Access-Control-Allow-Credentials: true");
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
header('Access-Control-Allow-Headers: Accept, X-Access-Token, X-Application-Name, X-Request-Sent-Time');
$server_key = "example";
$server_auth = filter_input(INPUT_POST, 'serverKeycode');
if ($server_auth == $server_key)
{
// do something
}
else
{
$myJSON->returnType = 2;
$myJSON->message = "Key: " . $server_auth; // just for checking the key
}