The WWWForm.headers https://docs.unity3d.com/ScriptReference/WWWForm-headers.html变量是只读的。当您致电Add
函数,它并没有真正添加任何东西。这就是您收到该错误的原因,因为数据未添加到WWWForm.headers https://docs.unity3d.com/ScriptReference/WWWForm-headers.html.
Unity's WWW
最近班级变了。要添加标题,您必须创建字典然后传递它Dictionary
到第三个参数WWW
构造函数。
public WWW(string url, byte[] postData, Dictionary<string, string> headers);
像这样的事情:
Dictionary<string, string> headers = new Dictionary<string, string>();
headers.Add("User-Agent", "Mozilla / 5.0(Windows NT 10.0; WOW64) AppleWebKit / 537.36(KHTML, like Gecko) Chrome / 55.0.2883.87 Safari / 537.36");
WWW www = new WWW("http://www.thismachine.info/", null, headers);
yield return www;
Debug.Log(www.text);
如果您有要发布的表格,您可以使用以下组合WWWForm
and Dictionary
要做到这一点。只需转换WWWForm
阵列与WWWForm.data https://docs.unity3d.com/ScriptReference/WWWForm-data.html然后将其传递给第二个参数WWW
构造函数。
Dictionary<string, string> headers = new Dictionary<string, string>();
headers.Add("User-Agent", "Mozilla / 5.0(Windows NT 10.0; WOW64) AppleWebKit / 537.36(KHTML, like Gecko) Chrome / 55.0.2883.87 Safari / 537.36");
WWWForm formData = new WWWForm();
formData.AddField("UserName", "Programmer");
formData.AddField("Password", "ProgrammerPass");
WWW www = new WWW("http://www.thismachine.info/", formData.data, headers);
yield return www;
Debug.Log(www.text);