在 Unity 中未收到任何响应数据 - 获取请求标头问题



以下是PHP代码的摘录:

// required headers
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");

$database   = new Database();
$db         = $database->GetConnection();
$correction = new Correction($db);
$statement  = $correction->Read();
$num        = $statement->rowCount();
if($num > 0){
$correctionArray = array();
$correctionArray["records"] = array();
while($row = $statement->fetch(PDO::FETCH_ASSOC)){
extract($row);
$correctionItem = array(
"correctionDetailId"        => $correction_detail_id,
"correctionByName"          => $correction_by_name
);
array_push($correctionArray["records"], $correctionItem);
}

echo json_encode($correctionArray);
}
else{
echo json_encode(array("message" => "No Correction found."));
}

现在我通过 C# 代码请求这个,但没有获得任何数据:

using (UnityWebRequest www = UnityWebRequest.Get(url))
{
www.SetRequestHeader("Content-Type", "application/json; charset=UTF-8");

yield return www.Send();
if (www.isError)
{
Debug.Log(www.error);
Debug.Log(www.responseCode);
}
else
{
// Show results as text
Debug.Log(www.downloadHandler.text);

// Or retrieve results as binary data
byte[] results = www.downloadHandler.data;
}
}

我需要在标题中设置其他内容吗?我在邮递员中运行 API,它工作正常。

您应该将User-Agent添加到标头中,如下所示:

www.SetRequestHeader("User-Agent", "Mozilla / 5.0(Windows NT 10.0; WOW64) AppleWebKit / 537.36(KHTML, like Gecko) Chrome / 55.0.2883.87 Safari / 537.36");

并且还更改:

www.Send() to www.SendWebRequest()

最新更新