/// <summary> /// Post请求 /// </summary> /// <param name="url"></param> /// <param name="callBack"></param> /// <param name="dic"></param> public void PostUrl(string url, HttpSendDataCallBack callBack, Dictionary <string, string> dic) { //支持多个HttpRoutine,从对象池中取出HttpRoutine HttpRoutine http = GameEntry.Pool.DequeueClassObject <HttpRoutine>(); http.PostUrl(url, callBack, dic); }
/// <summary> /// 发送web数据 /// </summary> /// <param name="url"></param> /// <param name="callBack"></param> /// <param name="isPost"></param> /// <param name="json"></param> public void SendData(string url, HttpSendDataCallBack callBack, bool isPost = false, bool isGetData = false, Dictionary <string, object> dic = null) { //支持多个HttpRoutine,从对象池中取出HttpRoutine HttpRoutine http = GameEntry.Pool.DequeueClassObject <HttpRoutine>(); http.SendData(url, callBack, isPost, isGetData, dic); }
/// <summary> /// Get请求 /// </summary> /// <param name="url"></param> /// <param name="callBack"></param> public void GetUrl(string url, HttpSendDataCallBack callBack) { //支持多个HttpRoutine,从对象池中取出HttpRoutine HttpRoutine http = GameEntry.Pool.DequeueClassObject <HttpRoutine>(); http.GetUrl(url, callBack); }
/// <summary> /// 发送Http数据 /// </summary> /// <param name="url"></param> /// <param name="callBack"></param> /// <param name="isPost"></param> /// <param name="json"></param> public void SendData(string url, HttpSendDataCallBack callBack, bool isPost = false, Dictionary <string, object> dic = null) { Debug.Log("从池中获取Http访问器"); HttpRoutine http = GameEntry.Pool.SpawnClassObject <HttpRoutine>(); http.SendData(url, callBack, isPost, dic); }
/// <summary> /// Get请求 /// </summary> /// <param name="url"></param> /// <param name="callBack"></param> public void GetUrl(string url, HttpSendDataCallBack callBack) { if (IsBusy) { return; } IsBusy = true; UnityWebRequest data = UnityWebRequest.Get(url); GameEntry.Http.StartCoroutine(Request(data, callBack)); }
/// <summary> /// 发送web数据 /// </summary> /// <param name="url"></param> /// <param name="callBack"></param> /// <param name="isPost"></param> /// <param name="isGetData">是否获取字节数据</param> /// <param name="dic"></param> public void SendData(string url, HttpSendDataCallBack callBack, bool isPost = false, bool isGetData = false, Dictionary <string, object> dic = null) { if (IsBusy) { return; } IsBusy = true; m_CallBack = callBack; m_IsGetData = isGetData; if (!isPost) { GetUrl(url); } else { //web加密 if (dic != null) { //客户端标识符 dic["deviceIdentifier"] = DeviceUtil.DeviceIdentifier; //设备型号 dic["deviceModel"] = DeviceUtil.DeviceModel; long t = GameEntry.Data.SysDataManager.CurrServerTime; //签名 dic["sign"] = EncryptUtil.Md5(string.Format("{0}:{1}", t, DeviceUtil.DeviceIdentifier)); //时间戳 dic["t"] = t; } string json = string.Empty; if (dic != null) { json = JsonMapper.ToJson(dic); if (!m_IsGetData) { GameEntry.Log(LogCategory.Proto, "<color=#ffa200>发送消息:</color><color=#FFFB80>" + url + "</color>"); GameEntry.Log(LogCategory.Proto, "<color=#ffdeb3>==>>" + json + "</color>"); } GameEntry.Pool.EnqueueClassObject(dic); } PostUrl(url, json); } }
/// <summary> /// 发送web数据 /// </summary> /// <param name="url"></param> /// <param name="callBack"></param> /// <param name="isPost"></param> /// <param name="json"></param> public void SendData(string url, HttpSendDataCallBack callBack, bool isPost = false, bool isGetData = false, Dictionary <string, object> dic = null) { if (IsBusy) { return; } IsBusy = true; m_CallBack = callBack; m_isGetData = isGetData; if (!isPost) { GetUrl(url); } else { //web加密 if (dic != null) { //客户端标识符 dic["deviceIdentifier"] = DeviceUtil.DeviceIdentifier; //设备型号 dic["deviceModel"] = DeviceUtil.DeviceModel; //long t = GameEntry.Data.SysData.CurrServerTime; ////签名 //dic["sign"] = EncryptUtil.Md5(string.Format("{0}:{1}", t, DeviceUtil.DeviceIdentifier)); ////时间戳 //dic["t"] = t; } string json = string.Empty; if (dic != null) { json = JsonMapper.ToJson(dic); #if DEBUG_LOG_PROTO Debug.Log("Http打印通讯协议"); #endif GameEntry.Pool.EnqueueClassObject(dic); } PostUrl(url, json); } }
/// <summary> /// Post请求 /// </summary> /// <param name="url"></param> /// <param name="callBack"></param> /// <param name="dic"></param> public void PostUrl(string url, HttpSendDataCallBack callBack, Dictionary <string, string> dic) { if (IsBusy) { return; } IsBusy = true; //web加密 if (dic != null) { //客户端标识符 dic["deviceIdentifier"] = DeviceUtil.DeviceIdentifier; //设备型号 dic["deviceModel"] = DeviceUtil.DeviceModel; } string json = string.Empty; if (dic != null) { //json = JsonMapper.ToJson(dic); #if DEBUG_LOG_PROTO Debug.Log("Http打印通讯协议"); #endif GameEntry.Pool.EnqueueClassObject(dic); } //定义一个表单 WWWForm form = new WWWForm(); //给表单添加值 form.AddField("", json); UnityWebRequest data = UnityWebRequest.Post(url, form); GameEntry.Http.StartCoroutine(Request(data, callBack)); }
/// <summary> /// 请求服务器 /// </summary> /// <param name="data"></param> /// <returns></returns> private IEnumerator Request(UnityWebRequest data, HttpSendDataCallBack callBack) { yield return(data.SendWebRequest()); IsBusy = false; if (data.isHttpError || data.isNetworkError) { m_CallBackArgs.HasError = true; m_CallBackArgs.Value = data.error; } else { m_CallBackArgs.HasError = false; m_CallBackArgs.Value = data.downloadHandler.text; } callBack?.Invoke(m_CallBackArgs); data.Dispose(); //支持多个HttpRoutine,结束之后回池 GameEntry.Pool.EnqueueClassObject(this); }
/// <summary> /// 发送Http数据 /// </summary> /// <param name="url"></param> /// <param name="callBack"></param> /// <param name="isPost"></param> /// <param name="isGetData"></param> /// <param name="dic"></param> public void SendData(string url, HttpSendDataCallBack callBack, bool isPost = false, bool isGetData = false, Dictionary <string, object> dic = null) { m_HttpManager.SendData(url, callBack, isPost, isGetData, dic); }
/// <summary> /// 发送Http数据 /// </summary> /// <param name="url">Http请求地址</param> /// <param name="callBack">Http请求回调</param> /// <param name="isPost">是否post请求</param> /// <param name="dic">请求数据</param> public void SendData(string url, HttpSendDataCallBack callBack, bool isPost, Dictionary <string, object> dic) { m_HttpManager.SendData(url, callBack, isPost, dic); }
/// <summary> /// 发送Http数据 Get请求 /// </summary> /// <param name="url">Http请求地址</param> /// <param name="callBack">Http请求回调</param> public void SendData(string url, HttpSendDataCallBack callBack) { SendData(url, callBack, false, null); }
/// <summary> /// Post请求 /// </summary> /// <param name="url"></param> /// <param name="callBack"></param> /// <param name="dic"></param> public void PostUrl(string url, HttpSendDataCallBack callBack, Dictionary <string, string> dic) { m_HttpManager.PostUrl(url, callBack, dic); }
/// <summary> /// Get请求 /// </summary> /// <param name="url"></param> /// <param name="callBack"></param> public void GetUrl(string url, HttpSendDataCallBack callBack) { m_HttpManager.GetUrl(url, callBack); }