我一直在尝试从此链接获取信息: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
的错误消息答案 0 :(得分:3)
您提出要求的网址要求您提供用户代理以确定您的身份。您可能需要其他标头才能获得相应的响应,但需要User-Agent标头来删除服务器抛出的403
错误。
创建用户代理(假装为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代码,而不是从Web浏览器访问链接时收到的消息。这是因为您的客户端(Unity)不支持Javascript并且无法执行您的Javascript代码。您必须使用php重新编写服务器代码。最后,使用json而不是]
或|
来分隔您的邮件。