c# - 统一没有收到数据响应 - 获取请求标头问题
问题描述
这是摘录的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()
推荐阅读
- angular - 路由器导航在订阅内不起作用(角度)
- curl - Gitlab-ci 无法将所有 .js 文件上传到 JFrog
- html - 如何防止gif背景停止
- python - 问题从 MtConnect 流解析 XML,不确定如何访问特定节点值
- python - 通过Python中嵌套字典中的值和键从字典中获取键
- r - 查找 data.frame 中所有具有非前导 NA 值的列
- html - 在 github 的自述文件中对齐文本
- java - 使用 OpenJDK 8 时出现“不可协商的密码套件”,但使用 Oracle Java 8 时则不然
- javascript - 是否有一种更有效的方法可以从列表 a 中删除列表 b 中存在的所有值?
- python - 如何使用键盘输入打开程序?