403 Запрещено Unity3D C # - PullRequest
0 голосов
/ 05 июня 2018

Я пытался получить информацию по этой ссылке: HIDDEN

Вот мой текущий код

public static string newsLink = "HIDDEN";
public static readonly List<string> newsList = new List<string>();

void Start () {
    DontDestroyOnLoad (gameObject);
    StartCoroutine (GetNews ());
}

IEnumerator GetNews(){
    WWW w = new WWW (newsLink);
    yield return w;
    if (w.error != null) {
        print (w.error);
    } else {
        List<string>temp = w.text.Split (']').ToList ();
        foreach(string a in temp)
        {
            newsList.Add (a);
        }
        w.Dispose ();
    }
  }
}

, в отладчике я получаю сообщение об ошибке 403 Forbidden

1 Ответ

0 голосов
/ 05 июня 2018

URL, на который вы делаете запрос, требует, чтобы вы предоставили User-Agent, чтобы определить, кто вы.Вам могут потребоваться другие заголовки, чтобы получить соответствующий ответ, но заголовок User-Agent необходим для удаления этой 403 ошибки, выдаваемой сервером.

Создайте User-Agent (представьте, что это Chrome)

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> ht = new Dictionary<string, string>();
ht["User-Agent"] = userAgent;

Затем создайте запрос WWW с заголовком

WWW w = new WWW(newsLink, null, ht);
yield return w;

Обратите внимание, что в конечном итоге вы можете получить код Html и Javascript вместо сообщения, полученного при переходе по ссылке свеб-браузер.Это потому, что ваш клиент (Unity) не поддерживает Javascript и не может выполнить ваш код Javascript. Вы должны переписать код сервера с помощью php.Наконец, используйте json вместо ] или | для разделения ваших сообщений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...