Итак, я создаю RESTFUL API с использованием .NET Framework. Тем не менее, я зашел в тупик, потому что в соединениях отказывают. Он отклоняет самозаверяющие сертификаты.
Итак, я использую горячую точку (чтобы я мог проверить несколько соединений), где мой телефон пытается подключиться к API. Это отклонено. У меня есть Unity, пытающаяся подключиться с того же устройства, на котором работает сервер API, ему отказывают. Я использую почтальон в локальной системе, мне отказывают. Если я отключу сертификат SSL в почтальоне ... хуза, это работает! Однако мне это не нравится. Или, может быть, я не совсем понимаю, как правильно это настроить.
Я использую готовый API .NET предоставляет вам некоторые штрихи:
// GET api/values
[HttpGet]
public ActionResult<Player> Get()
{
Player player = new Player
{
Id = 1,
Name = "Bloodmorphed"
};
return player;
}
Теперь в Unity (поскольку это действительно единственный код, который я написал для получения данных):
using System.Collections;
using System.Collections.Generic;
using System;
using UnityEngine;
using UnityEngine.Networking;
using System.Net;
public class CallAPI : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
StartCoroutine(GetUnityWebRequest());
}
IEnumerator GetUnityWebRequest()
{
UnityWebRequest request = UnityWebRequest.Get("https://localhost:44305/api/values");
yield return request.SendWebRequest();
if (request.isHttpError)
{
Debug.Log("HTTP Error: " + request.error);
}
else if (request.isNetworkError)
{
Debug.Log("Network Error: " + request.error);
}
else if (request.error != null)
{
Debug.Log("Other Error: " + request.error);
}
else
{
Debug.Log(request.downloadHandler.text);
}
}
}
Теперь, с Unity, он выдаст ошибку сети, но скажет «Неизвестная ошибка». Я могу заставить его не использовать самозаверяющий сертификат, но я думаю, что это было бы лучше для фиксированной серверной стороны, а не клиентской.
Итак: он работает в локальном браузере, но не работает на удаленном браузере, нов той же сети (я знаю, это подключиться, как я делал это раньше ... его отклонение подключения). Он будет работать на почтальоне, если я отключу сертификат SSL. Я немного растерялся.