Почему UnityWebRequest не работает на некоторых SSL-URL? - PullRequest
0 голосов
/ 07 апреля 2020

Мы разрабатываем приложение в Unity3d, которое получает некоторые данные от нашей конечной точки сервера. При тестировании на реальном экземпляре сервера он работает нормально, но при разработке я пытаюсь использовать Ngrok (https://ngrok.com/) для туннелирования на мою локальную машину, чтобы ускорить цикл разработки. Это не удается использовать UnityWebRequest, по неизвестным причинам.

Мой вопрос на самом деле двоякий, и ответ на любой из них мне поможет:

  1. Почему UnityWebRequest ПОЛУЧИТЬ сбой при переходе к моей конечной точке Ngrok с использованием HTTPS, но не при использовании HTTP? Последний работает в редакторе, но Android больше не разрешает незащищенные соединения, поэтому на устройстве необходим HTTPS. Сообщение об ошибке совершенно бесполезно, так как оно буквально «Неизвестная ошибка», а код возврата равен 0. Кроме того, тот же URL-адрес HTTPS прекрасно работает в браузере устройства Android.

  2. Теперь в редакторе Unity я могу обойти это, добавив специальный обработчик сертификатов, который возвращает «true» для моего запроса. Затем данные получаются, как и ожидалось. Но на устройстве это тоже не работает! Мой журнал отладки говорит мне, что метод override bool ValidateCertificate обработчика сертификатов даже не запущен на устройстве, даже если обработчик сертификатов определенно установлен.

Любая помощь для решения любой из этих проблем позволил бы мне решить мою настоящую проблему и был бы очень признателен.

...