Unity C# HTTP body 传递 JSON参数对象

        public static IEnumerator PostHttpRequest(object requestBody, HandleResponse handler)
        {
            string body = JsonUtils.ObjectToJson(requestBody);
            byte[] rawData = Encoding.UTF8.GetBytes(body);
 
            WWWForm form = new WWWForm();
            Hashtable headers = form.headers;
            headers["Content-Type"] = "application/json";
            headers["Accept"] = "application/json";


            //request的body有压缩
            //headers["Content-Encoding"] = "gzip";
            //客户端支持response body的压缩,接收到客户端的Accept-Encoding:gzip后,服务端根据实际情况对response的body进行gzip压缩
            //headers["Accept-Encoding"] = "gzip";


            WWW www = new WWW(url, rawData, headers);


            yield return www;


            if (www.error != null)
            {
                handler(new XHttpResponseObject { code = -32767, id = -32767, desc = www.error });
            }
            else
            { 
                Dictionary<string, string> responseHeader = www.responseHeaders;
                XHttpResponseObject response = JsonUtils.JsonToObject<XHttpResponseObject>(www.text);
                handler(response);
            }
        }

你可能感兴趣的:(Unity C# HTTP body 传递 JSON参数对象)