예제 #1
0
        public IEnumerator RealWebRequest(string url, WWWForm lstformData, WebRequestTextEvent webRequestGetEvent)
        {
            UnityWebRequest webRequest = UnityWebRequest.Post(url, lstformData);

            httpRequestCount += 1;
            yield return(webRequest.SendWebRequest());

            if (webRequest.error == null || webRequest.error == "")
            {
                if (webRequestGetEvent != null)
                {
                    webRequestGetEvent.Invoke(webRequest.downloadHandler.text, DownStatus.Sucess, "");
                }
            }
            else
            {
                DownManager.Instance.DebugDownError(httpRequestCount, url, webRequest.error);
                if (httpRequestCount <= 3)
                {
                    DownManager.Instance.RegisterRequest(RealWebRequest(url, lstformData, webRequestGetEvent));
                }
                else
                {
                    if (webRequestGetEvent != null)
                    {
                        webRequestGetEvent.Invoke("", DownStatus.Fail, webRequest.error);
                    }
                }
            }
        }
예제 #2
0
        public static HttpTxtInfo Allocate(string m_srcUrl, WebRequestTextEvent webRequestTextEvent,
                                           bool returnPathOrCon = false, string m_savePath = "", WebRequestProcessEvent processEvent = null)
        {
            HttpTxtInfo httpTxtInfo = new HttpTxtInfo();

            httpTxtInfo.m_srcUrl            = m_srcUrl;
            httpTxtInfo.m_savePath          = m_savePath;
            httpTxtInfo.returnPathOrCon     = returnPathOrCon;
            httpTxtInfo.webRequestTextEvent = webRequestTextEvent;
            httpTxtInfo.processEvent        = processEvent;
            return(httpTxtInfo);
        }
예제 #3
0
 public void StartTextByPost(string url, WWWForm lstformData, WebRequestTextEvent webRequestGetEvent)
 {
     if (JudgeNetworkState())
     {
         HttpTxtByPost httpTool = new HttpTxtByPost();
         httpTool.StartWebRequest(url, lstformData, webRequestGetEvent);
     }
     else
     {
         webRequestGetEvent("", DownStatus.NoNetwork, "");
     }
 }
예제 #4
0
 public void StartTextRequest(string url, WebRequestTextEvent webRequestGetEvent, string SavePath = "", bool isReturnPath = false)
 {
     if (JudgeNetworkState())
     {
         HttpTxtTool httpTool = new HttpTxtTool();
         httpTool.StartWebRequest(url, webRequestGetEvent, SavePath, isReturnPath);
     }
     else
     {
         webRequestGetEvent("", DownStatus.NoNetwork, "");
     }
 }
예제 #5
0
 /// <summary>
 /// 默认返回获取到的内容
 /// </summary>
 /// <param name="m_srcUrl"></param>
 /// <param name="webRequestTextEvent"></param>
 /// <param name="returnPathOrCon"></param>
 /// <param name="m_savePath"></param>
 /// <param name="processEvent"></param>
 public void StartDownReturnPathOrContent(string m_srcUrl, WebRequestTextEvent webRequestTextEvent,
                                          bool returnPathOrCon = false, string m_savePath = "", WebRequestProcessEvent processEvent = null)
 {
     if (JudgeNetworkState())
     {
         if (!URLToHttpBase.ContainsKey(m_srcUrl))
         {
             HttpTxt httpTxt = new HttpTxt(HttpTxtInfo.Allocate(m_srcUrl, webRequestTextEvent, returnPathOrCon, m_savePath, processEvent));
             AddRequest(m_srcUrl, httpTxt);
         }
     }
     else
     {
         webRequestTextEvent("", DownStatus.NoNetwork, "");
     }
 }
예제 #6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="url"></param>
        /// <param name="webRequestGetEvent"></param>
        /// <param name="SavePath">如果为""则不需要保存</param>
        /// <param name="isReturnPath">默认是返回内容</param>
        /// <returns></returns>
        public IEnumerator RealWebRequest(string url, WebRequestTextEvent webRequestGetEvent, string SavePath = "", bool isReturnPath = false)
        {
            UnityWebRequest webRequest = UnityWebRequest.Get(url);

            httpRequestCount += 1;
            yield return(webRequest.SendWebRequest());

            if (webRequest.error == null || webRequest.error == "")
            {
                if (SavePath != null && SavePath != "")
                {
                    FileHelper.CreatFile(SavePath, webRequest.downloadHandler.data, true);
                }
                if (isReturnPath)
                {
                    if (webRequestGetEvent != null)
                    {
                        webRequestGetEvent.Invoke(SavePath, DownStatus.Sucess, "");
                    }
                }
                else
                {
                    if (webRequestGetEvent != null)
                    {
                        webRequestGetEvent.Invoke(webRequest.downloadHandler.text, DownStatus.Sucess, "");
                    }
                }
            }
            else
            {
                DownManager.Instance.DebugDownError(httpRequestCount, url, webRequest.error);
                if (httpRequestCount <= 3)
                {
                    DownManager.Instance.RegisterRequest(RealWebRequest(url, webRequestGetEvent, SavePath, isReturnPath));
                }
                else
                {
                    if (webRequestGetEvent != null)
                    {
                        webRequestGetEvent.Invoke("", DownStatus.Fail, webRequest.error);
                    }
                }
            }
        }
예제 #7
0
 public void StartWebRequest(string url, WebRequestTextEvent webRequestGetEvent, string SavePath = "", bool isReturnPath = false)
 {
     httpRequestCount = 0;
     DownManager.Instance.RegisterRequest(RealWebRequest(url, webRequestGetEvent, SavePath, isReturnPath));
 }
예제 #8
0
 public void StartWebRequest(string url, WWWForm lstformData, WebRequestTextEvent webRequestGetEvent)
 {
     httpRequestCount = 0;
     DownManager.Instance.RegisterRequest(RealWebRequest(url, lstformData, webRequestGetEvent));
 }