Я использую следующий код, чтобы получить текст с веб-страницы:
private IEnumerator FetchText() {
WWW www = new WWW(URL);
yield return www;
if(www.error == null) {
myText.text = www.text.Length.ToString();
}
...
}
Когда я запускаю это в Unity, я получаю 185616
символы длинной строки. Но когда я запускаю это в Android-устройстве, я получаю только символы 47133
. Это потому, что эта веб-страница ведет себя по-разному в Windows и Android? Если да, то как я могу получить тот же контент из Android, как и с настольного ПК.
Спасибо.
Выполнение ответа tier1.
Запрос POST:
private IEnumerator FetchText()
{
string URL = "www.yahoo.com";
string userAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36";
Dictionary<string, string> headers = new Dictionary<string, string>();
headers.Add("User-Agent", userAgent);
string postData = "test";
string data = "data=" + postData;
WWW www = new WWW(URL, Encoding.UTF8.GetBytes(data), headers);
yield return www;
if (string.IsNullOrEmpty(www.error))
{
//myText.text = www.text.Length.ToString();
Debug.Log("Got: " + www.text);
}
else
{
Debug.Log("Error: " + www.error);
}
}
Запрос GET:
Установка параметра WWW
byte[] postData
в значение null приведет к его запросу GET.
private IEnumerator FetchText()
{
string userAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36";
string URL = "www.yahoo.com";
Dictionary<string, string> headers = new Dictionary<string, string>();
headers.Add("User-Agent", userAgent);
WWW www = new WWW(URL, null, headers);
yield return www;
if (string.IsNullOrEmpty(www.error))
{
//myText.text = www.text.Length.ToString();
Debug.Log("Got: " + www.text);
}
else
{
Debug.Log("Error: " + www.error);
}
}
В соответствии с вашим исходным кодом вам нужен метод запроса GET. Это будет маскироваться как запрос из браузера Chrome. Вы можете получить User-Agent
здесь.
Возможно, URL-адрес, который вы пытаетесь извлечь, - это обнаружение вашего пользовательского агента и отправка вам на какой-то мобильный сайт с меньшим телом ответа.
Я не очень хорошо знаком с используемой библиотекой, но вы можете попробовать вручную настроить заголовок User-Agent.
Например:
User-Agent: Mozilla/5.0 (Windows NT 6.3, Trident/7.0; rv: 11.0), как Gecko