2016-09-26 4 views
1

Я пытаюсь получить доступ к серверу, который мой друг сделал с помощью php. Я использую объект WWW для GET или POST json. Сервер всегда требует базовой авторизации http. Например, один из моих запросов GET для получения информации пользователя выглядит так.Unity3D WWW не работает на Android и iOS

https://basicauthuser:[email protected]/user/samantha/

В редакторе единства (v5.4.0f4), он прекрасно работает! Нет проблем. На iOS я получаю ответ «Не найден» (он не говорит 404, просто «Не найден»), а на Android я получаю ответ «401: Несанкционированный».

В iOS я убедился, что при построении в xcode активируются произвольные нагрузки HTTP, но это адрес HTTPS, поэтому это не имеет значения. Я также попытался получить доступ к серверу с HTTP-адресом, и я не получаю никакой разницы в ответе для любого устройства.

С целью WWW, я посылаю следующие заголовки, в случае, если это помогает:

headers.Add ("Content-Length", _jsonDataToSend.Length.ToString()); 
headers.Add ("Content-Type", "application/json"); 
headers.Add ("Accepts", "application/json"); 

Почему мои звонки провала попытки на IOS и Android?

ответ

1

Может быть, проблема доступа:

Unity требует, чтобы веб-сайты, которые вы хотите получить доступ через WWW Запрос имеет перекрестную политику домена.

<?xml version="1.0"?> 
<cross-domain-policy> 
<allow-access-from domain="*"/> 
</cross-domain-policy> 

Загрузить этот файл в корневой каталог вашего веб-сервера (ref).