Пример #1
0
 public override int GetHashCode()
 {
     unchecked
     {
         int result = (m_ObjPropertyCollection != null ? m_ObjPropertyCollection.GetHashCode() : 0);
         result = (result * 397) ^ (CharacterSet != null ? CharacterSet.GetHashCode() : 0);
         result = (result * 397) ^ (ContentEncoding != null ? ContentEncoding.GetHashCode() : 0);
         result = (result * 397) ^ (ContentType != null ? ContentType.GetHashCode() : 0);
         result = (result * 397) ^ (Headers != null ? Headers.GetHashCode() : 0);
         result = (result * 397) ^ IsFromCache.GetHashCode();
         result = (result * 397) ^ IsMutuallyAuthenticated.GetHashCode();
         result = (result * 397) ^ LastModified.GetHashCode();
         result = (result * 397) ^ (Method != null ? Method.GetHashCode() : 0);
         result = (result * 397) ^ (OriginalReferrerUrl != null ? OriginalReferrerUrl.GetHashCode() : 0);
         result = (result * 397) ^ (OriginalUrl != null ? OriginalUrl.GetHashCode() : 0);
         result = (result * 397) ^ (ProtocolVersion != null ? ProtocolVersion.GetHashCode() : 0);
         result = (result * 397) ^ (Referrer != null ? Referrer.GetHashCode() : 0);
         result = (result * 397) ^ (ResponseUri != null ? ResponseUri.GetHashCode() : 0);
         result = (result * 397) ^ (Server != null ? Server.GetHashCode() : 0);
         result = (result * 397) ^ StatusCode.GetHashCode();
         result = (result * 397) ^ (StatusDescription != null ? StatusDescription.GetHashCode() : 0);
         result = (result * 397) ^ (Step != null ? Step.GetHashCode() : 0);
         result = (result * 397) ^ (Text != null ? Text.GetHashCode() : 0);
         result = (result * 397) ^ (Title != null ? Title.GetHashCode() : 0);
         result = (result * 397) ^ DownloadTime.GetHashCode();
         return(result);
     }
 }
Пример #2
0
        IEnumerator Get()
        {
            string uri = Settings.Instance().ApiHost;

            if (!uri.EndsWith("/"))
            {
                uri += "/";
            }
            uri += Uri;

            var data = UnityWebRequest.Get(uri);

            data.SendWebRequest();

            float timer  = 0;
            bool  failed = false;

            while (!data.isDone)
            {
                if (timer > TimeOut)
                {
                    failed = true; break;
                }
                timer += Time.deltaTime;
                yield return(null);
            }

            if (data.isNetworkError)
            {
                failed = true;
            }

            if (failed)
            {
                ((IRequest)this).OnResponseError($"{this} Timeout error", data.responseCode);
                data.Dispose();
            }
            else
            {
                ResponseUri response = new ResponseUri()
                {
                    ResponseCode = data.responseCode, TextData = data.downloadHandler.text, ByteData = data.downloadHandler.data
                };
                ((IRequest)this).OnResponseDone(response, data.responseCode);
            }
        }
        protected TResponse ParseParts(ResponseUri parts, UrlParsingType type, UrlParser <TResponse> parser)
        {
            var data = type == UrlParsingType.Query ? parts.Query : parts.Fragment;

            if (data.IsEmpty())
            {
                return(null);
            }

            var response = new TResponse
            {
                UrlParsingType   = type,
                Error            = data.Get(Consts.Oidc.Response.Error),
                ErrorDescription = data.Get(Consts.Oidc.Response.ErrorDescription),
                ErrorUri         = data.Get(Consts.Oidc.Response.ErrorUri),
                State            = data.Get(Consts.Oidc.Response.State)
            };

            parser?.Invoke(response, data);
            return(response);
        }
Пример #4
0
        //public List<string> groupList = null;

        public bool PostInGroup(string context)
        {
            string response = DownloadString("https://m.facebook.com/groups/1248359792000849?view=group&refid=18");

            Regex regex = new Regex("<form method=\"post\" action=\"([^\"]+)\" class=\"");

            if (!regex.IsMatch(response))
            {
                return(false);
            }
            string url = regex.Match(response).Groups[1].Value;

            url = "https://m.facebook.com" + UrlTransfer(url);

            regex = new Regex("<input type=\"hidden\" name=\"fb_dtsg\" value=\"([^\"]+)\"");
            if (!regex.IsMatch(response))
            {
                return(false);
            }
            string fb_dtsg = regex.Match(response).Groups[1].Value;

            regex = new Regex("<input type=\"hidden\" name=\"jazoest\" value=\"([^\"]+)\"");
            if (!regex.IsMatch(response))
            {
                return(false);
            }
            string jazoest = regex.Match(response).Groups[1].Value;

            regex = new Regex("<input type=\"hidden\" name=\"target\" value=\"([^\"]+)\"");
            if (!regex.IsMatch(response))
            {
                return(false);
            }
            string target = regex.Match(response).Groups[1].Value;

            regex = new Regex("<input type=\"hidden\" name=\"c_src\" value=\"([^\"]+)\"");
            if (!regex.IsMatch(response))
            {
                return(false);
            }
            string c_src = regex.Match(response).Groups[1].Value;

            regex = new Regex("<input type=\"hidden\" name=\"cwevent\" value=\"([^\"]+)\"");
            if (!regex.IsMatch(response))
            {
                return(false);
            }
            string cwevent = regex.Match(response).Groups[1].Value;

            regex = new Regex("<input type=\"hidden\" name=\"referrer\" value=\"([^\"]+)\"");
            if (!regex.IsMatch(response))
            {
                return(false);
            }
            string referrer = regex.Match(response).Groups[1].Value;

            regex = new Regex("<input type=\"hidden\" name=\"ctype\" value=\"([^\"]+)\"");
            if (!regex.IsMatch(response))
            {
                return(false);
            }
            string ctype = regex.Match(response).Groups[1].Value;

            regex = new Regex("<input type=\"hidden\" name=\"cver\" value=\"([^\"]+)\"");
            if (!regex.IsMatch(response))
            {
                return(false);
            }
            string cver = regex.Match(response).Groups[1].Value;


            NameValueCollection payload = new NameValueCollection();

            payload.Add("fb_dtsg", fb_dtsg);
            payload.Add("jazoest", jazoest);
            payload.Add("target", target);
            payload.Add("c_src", c_src);
            payload.Add("cwevent", cwevent);
            payload.Add("referrer", referrer);
            payload.Add("ctype", ctype);
            payload.Add("cver", cver);
            payload.Add("rst_icv", "");
            payload.Add("xc_message", context);
            payload.Add("view_post", "發佈");

            response = UploadValues(url, payload);

            //待驗證
            //一般留言成功
            //url: https://m.facebook.com/groups/1248359792000849?_rdr
            //<div id="groupMallNotices"></div>

            //目前暫用一般
            return(ResponseUri.ToString().Contains("groups"));
        }
Пример #5
0
        protected sealed override void setValue(object value)
        {
            var response = value as IRestResponse;

            if (Request != null)
            {
                Request.SetValue(response.Request);
            }

            if (ErrorMessage != null)
            {
                ErrorMessage.SetValue(response.ErrorMessage);
            }

            if (ResponseStatus != null)
            {
                ResponseStatus.SetValue(response.ResponseStatus);
            }

            if (Headers != null)
            {
                foreach (var header in Headers)
                {
                    var headerValue = response.Headers.FirstOrDefault(h => h.Name == header.Key);
                    if (headerValue != null)
                    {
                        header.Value.SetValue(headerValue.Value);
                    }
                }
            }

            if (Cookies != null)
            {
                foreach (var cookie in Cookies)
                {
                    var cookieValue = response.Cookies.FirstOrDefault(c => c.Name == cookie.Key);
                    if (cookieValue != null)
                    {
                        cookie.Value.SetValue(cookieValue.Value);
                    }
                }
            }

            if (Server != null)
            {
                Server.SetValue(response.Server);
            }

            if (ResponseUri != null)
            {
                ResponseUri.SetValue(response.ResponseUri);
            }

            if (ErrorException != null)
            {
                ErrorException.SetValue(response.ErrorException);
            }

            if (RawBytes != null)
            {
                RawBytes.SetValue(response.RawBytes);
            }

            if (IsSuccessful != null)
            {
                IsSuccessful.SetValue(response.IsSuccessful);
            }

            if (StatusCode != null)
            {
                StatusCode.SetValue(response.StatusCode);
            }

            if (Content != null)
            {
                Content.SetValue(response.Content);
            }

            if (ContentEncoding != null)
            {
                ContentEncoding.SetValue(response.ContentEncoding);
            }

            if (ContentLength != null)
            {
                ContentLength.SetValue(response.ContentLength);
            }

            if (ContentType != null)
            {
                ContentType.SetValue(response.ContentType);
            }

            if (StatusDescription != null)
            {
                StatusDescription.SetValue(response.StatusDescription);
            }

            if (ProtocolVersion != null)
            {
                ProtocolVersion.SetValue(response.ProtocolVersion);
            }

            setExtraValues(response);
        }
Пример #6
0
 public string GetKey()
 {
     return(ResponseUri.ToString());
 }