Closed2
UnityWebRequestを利用してサーバー上においてあるJsonファイルを返してもらうときにつまづいたこと
問題箇所
public class JsonDownloader : MonoBehaviour
{
private string jsonUrl = "http://example.com/Example.json";
async void Start()
{
await DownloadJson();
}
private async UniTask DownloadJson()
{
UnityWebRequest request = UnityWebRequest.Get(jsonUrl);
await request.SendWebRequest();
if (request.result == UnityWebRequest.Result.Success)
{
string json = request.downloadHandler.text;
ExampleParameter parameter = JsonUtility.FromJson<ExampleParameter>(json);
// ここでparameterを使って処理を行う
}
else
{
Debug.LogError("Jsonダウンロードエラー: " + request.error);
}
}
エラー内容
InvalidOperationException: Insecure connection not allowed
UnityEngine.Networking.UnityWebRequest.SendWebRequest () (at <e0fcda41755546dbb665cb70c72ace16>:0)..........以下省略
解決方法
ProjectSettingsからAllow downloads over HTTP
という項目をAlways allowed
に変更する!
ただ大々的にやると危険なのでhttpsに対応したリンクから取得するようにしよう
あとがき
今回問題だったのは取得先のURLがhttp
になっていたこと。
private string jsonUrl = "http://example.com/Example.json";
https
だと安全にやり取りができる
このスクラップは2023/04/19にクローズされました