Пример #1
0
        public void SignOn(string status, int state)
        {
            var param = new Dictionary <string, string>();

            param["realm"] = "yahooapis.com";
            param["oauth_consumer_key"]     = FetchReqData.ConsummerKey;
            param["oauth_nonce"]            = OAuthUtil.GenerateNonce();
            param["oauth_signature_method"] = "PLAINTEXT";
            param["oauth_timestamp"]        = OAuthUtil.GenerateTimeStamp();
            param["oauth_token"]            = FetchReqData.OauthToken;
            param["oauth_version"]          = "1.0";
            param["oauth_signature"]        = FetchReqData.ConsummerSecret + "%26" + FetchReqData.OauthTokenSecret;
            OauthHeader = MakeRequestHeader(param);

            var url = new StringBuilder(CommonConst.URL_YM_SESSION);

            url.Append("?notifyServerToken=1");

            WebRequest request = WebRequest.Create(url.ToString());

            request.ContentType = "application/json; charset=utf-8";
            request.Headers.Add("Authorization", OauthHeader);

            var data   = MakeJsonData(status, state);
            var result = HttpUtil.SendPostReq(request, data, true);
            var temp   = StringUtil.Split(result, "<QuangPB>");

            Cookie = GetCookie(temp[0].Trim());
            GetOtherInfoOfSignOn(temp[1].Trim());
        }
Пример #2
0
        public void ResponseContact(bool accept, string mess)
        {
            //prepare url
            var url = new StringBuilder(CommonConst.URL_YM_BUDDYREQUEST);

            url.Append("?oauth_consumer_key=" + _fetch.ConsummerKey);
            url.Append("&oauth_nonce=" + OAuthUtil.GenerateNonce());
            url.Append("&oauth_signature=" + _fetch.ConsummerSecret + "%26" + _fetch.OauthTokenSecret);
            url.Append("&oauth_signature_method=PLAINTEXT");
            url.Append("&oauth_timestamp=" + DateTime.Now.Ticks);
            url.Append("&oauth_token=" + _fetch.OauthToken);
            url.Append("&oauth_version=1.0");
            url.Append("&sid=" + _sign.SessionId);
            url.Replace("{{USER}}", Sender);

            WebRequest request = WebRequest.Create(url.ToString());

            request.ContentType = "application/json; charset=utf-8";
            var data = MakeJsonString(mess);

            HttpUtil.SendPostReq(request, data, false);
        }
Пример #3
0
        public string FetchLongNotification(int seq)
        {
            var url = new StringBuilder(CommonConst.URL_YM_NOTIFICATION_LONG);

            url.Append("?sid=" + SignMan.SessionId);
            url.Append("&seq=" + seq);
            url.Append("&format=json");
            url.Append("&count=100");
            url.Append("&idle=120");
            url.Append("&rand=" + OAuthUtil.GenerateNonce());
            url.Replace("{{NOTIFICATION_SERVER}}", SignMan.NotifyServer);
            url.Replace("{{USER}}", SignMan.PrimaryLoginId);

            WebRequest request = WebRequest.Create(url.ToString());

            request.ContentType = "application/json; charset=utf-8";
            request.Headers.Add("Authorization", SignMan.OauthHeader);
            request.Headers.Add("Cookie", "IM=" + SignMan.Cookie);
            request.Timeout = 160 * 1000;

            return(HttpUtil.SendGetReq(request, false));
        }
        public void FetchAccessToken()
        {
            var param = new Dictionary <string, string>();

            param["oauth_consumer_key"]     = ConsummerKey;
            param["oauth_nonce"]            = OAuthUtil.GenerateNonce();
            param["oauth_signature"]        = HttpUtility.UrlEncode(ConsummerSecret + "&");
            param["oauth_signature_method"] = "PLAINTEXT";
            param["oauth_timestamp"]        = OAuthUtil.GenerateTimeStamp();
            param["oauth_token"]            = ReqestToken;
            param["oauth_version"]          = "1.0";

            var url = new StringBuilder(CommonConst.URL_OAUTH_ACCESS_TOKEN);

            url.Append(HttpUtil.ToQueryString(param, true, ""));

            WebRequest request = WebRequest.Create(url.ToString());
            var        result  = HttpUtil.SendGetReq(request, false);
            var        tmp     = StringUtil.Split(result, "=|&");

            OauthToken       = tmp[1].Trim();
            OauthTokenSecret = tmp[3].Trim();
        }
        public void FetchCrumb()
        {
            var param = new Dictionary <string, string>();

            param["oauth_consumer_key"]     = ConsummerKey;
            param["oauth_nonce"]            = OAuthUtil.GenerateNonce();
            param["oauth_signature"]        = ConsummerSecret + "%26" + OauthTokenSecret;
            param["oauth_signature_method"] = "PLAINTEXT";
            param["oauth_timestamp"]        = OAuthUtil.GenerateTimeStamp();
            param["oauth_token"]            = OauthToken;
            param["oauth_version"]          = "1.0";

            var url = new StringBuilder(CommonConst.URL_YM_SESSION);

            url.Append(HttpUtil.ToQueryString(param, true, ""));

            WebRequest request = WebRequest.Create(url.ToString());

            request.ContentType = "application/json; charset=utf-8";

            var result = HttpUtil.SendGetReq(request, false);

            Crumb = GetCrumb(result);
        }