示例#1
0
        /// <summary>
        /// GET请求方式
        /// </summary>
        /// <param name="url"></param>
        /// <param name="queryString"></param>
        /// <param name="callback"></param>
        /// <returns></returns>
        public static void HttpGet(string url, string queryString, string contentType, HttpAsyncHandler callback)
        {
            if (!string.IsNullOrEmpty(queryString))
            {
                url += "?" + queryString;
            }

            HttpWebRequest webRequest = WebRequest.Create(url) as HttpWebRequest;
            webRequest.Method = "GET";
            if (!string.IsNullOrEmpty(contentType))
                webRequest.ContentType = contentType;
            webRequest.BeginGetResponse(asyncResult =>
            {
                var request = asyncResult.AsyncState as HttpWebRequest;
                if (request != null)
                {
                    try
                    {
                        using (var response = request.EndGetResponse(asyncResult)) 
                        using (var reader = new System.IO.StreamReader(response.GetResponseStream()))
                        {
                            callback(reader.ReadToEnd());
                        }
                    }
                    catch (WebException ex)
                    {
                        callback(ex.Message);
                    }
                }
            }, webRequest);
        }
示例#2
0
 /// <summary>
 /// POST请求方式
 /// </summary>
 /// <param name="url"></param>
 /// <param name="queryString"></param>
 /// <param name="callback"></param>
 public static void HttpPost(string url, string queryString, string contentType, HttpAsyncHandler callback)
 {
     HttpWebRequest webRequest = WebRequest.Create(url) as HttpWebRequest;
     webRequest.Method = "POST";
     if (!string.IsNullOrEmpty(contentType))
         webRequest.ContentType = contentType;
     webRequest.BeginGetRequestStream(requestPost_Callback, new RequestStat(webRequest, queryString, callback));
 }
示例#3
0
 /// <summary>
 /// 人人新鲜事发布
 /// </summary>
 /// <param name="channelName"></param>
 /// <param name="channelUrl"></param>
 /// <param name="message"></param>
 /// <param name="callBack"></param>
 public void CallPublishFeed(string channelName,
     string channelUrl, string message, HttpAsyncHandler callBack)
 {
     var paras = new List<APIParameter>() { 
         new APIParameter("method", "feed.publishFeed"),
         new APIParameter("name", channelName),
         new APIParameter("description", message),
         new APIParameter("url", channelUrl)
     };
     CallMethod(paras, callBack);
 }
示例#4
0
 /// <summary>
 /// 人人发布分享
 /// </summary>
 /// <param name="channelName"></param>
 /// <param name="channelUrl"></param>
 /// <param name="message"></param>
 /// <param name="callBack"></param>
 public void CallPublishShare(string channelName,
     string channelUrl, string message, HttpAsyncHandler callBack)
 {
     var paras = new List<APIParameter>() { 
         new APIParameter("method", "share.share"),
         new APIParameter("type", "10"),
         new APIParameter("comment", message),
         new APIParameter("url", channelUrl)
     };
     CallMethod(paras, callBack);
 }
示例#5
0
 /// <summary>
 /// 刷新Token
 /// </summary>
 /// <param name="callBack"></param>
 public void RefreshToken(string refreshToken, HttpAsyncHandler callBack)
 {
     var paras = new List<APIParameter>(){
         new APIParameter("client_id", RenrenSocialFactory.APIKey),
         new APIParameter("client_secret", RenrenSocialFactory.APISecret),
         new APIParameter("redirect_uri", RenrenSocialFactory.RedirectUri),
         new APIParameter("grant_type", "refresh_token"),
         new APIParameter("refresh_token", refreshToken)
     };
     HttpAsyncUtils.HttpPost(RenrenSocialFactory.TokenUrl,
         HttpUtils.GetQueryFromParas(paras), "application/x-www-form-urlencoded", callBack);
 }
示例#6
0
        /// <summary>
        /// 人人发布分享
        /// </summary>
        /// <param name="channelName"></param>
        /// <param name="channelUrl"></param>
        /// <param name="message"></param>
        /// <param name="callBack"></param>
        public void CallPublishShare(string channelName,
                                     string channelUrl, string message, HttpAsyncHandler callBack)
        {
            var paras = new List <APIParameter>()
            {
                new APIParameter("method", "share.share"),
                new APIParameter("type", "10"),
                new APIParameter("comment", message),
                new APIParameter("url", channelUrl)
            };

            CallMethod(paras, callBack);
        }
示例#7
0
        /// <summary>
        /// 人人新鲜事发布
        /// </summary>
        /// <param name="channelName"></param>
        /// <param name="channelUrl"></param>
        /// <param name="message"></param>
        /// <param name="callBack"></param>
        public void CallPublishFeed(string channelName,
                                    string channelUrl, string message, HttpAsyncHandler callBack)
        {
            var paras = new List <APIParameter>()
            {
                new APIParameter("method", "feed.publishFeed"),
                new APIParameter("name", channelName),
                new APIParameter("description", message),
                new APIParameter("url", channelUrl)
            };

            CallMethod(paras, callBack);
        }
示例#8
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="methodName"></param>
        /// <param name="callBack"></param>
        public void CallMethod(string methodName, HttpAsyncHandler callBack)
        {
            if (string.IsNullOrEmpty(methodName))
            {
                return;
            }
            var paras = new List <APIParameter>()
            {
                new APIParameter("method", methodName)
            };

            CallMethod(paras, callBack);
        }
示例#9
0
 /// <summary>
 /// 获取AccessToken
 /// </summary>
 /// <param name="code"></param>
 /// <param name="callBack"></param>
 public void AccessToken(string code, HttpAsyncHandler callBack)
 {
     var paras = new List<APIParameter>() { 
             new APIParameter("grant_type","authorization_code"),
             new APIParameter("code",code),
             new APIParameter("client_id",RenrenSocialFactory.APIKey),
             new APIParameter("client_secret",RenrenSocialFactory.APISecret),
             new APIParameter("redirect_uri",RenrenSocialFactory.RedirectUri),
             new APIParameter("format","json")
         };
     HttpAsyncUtils.HttpPost(RenrenSocialFactory.OAuthUri,
         HttpUtils.GetQueryFromParas(paras), "application/x-www-form-urlencoded;charset=utf-8", callBack);
 }
示例#10
0
        /// <summary>
        /// 刷新Token
        /// </summary>
        /// <param name="callBack"></param>
        public void RefreshToken(string refreshToken, HttpAsyncHandler callBack)
        {
            var paras = new List <APIParameter>()
            {
                new APIParameter("client_id", RenrenSocialData.APIKey),
                new APIParameter("client_secret", RenrenSocialData.APISecret),
                new APIParameter("redirect_uri", RenrenSocialData.RedirectUri),
                new APIParameter("grant_type", "refresh_token"),
                new APIParameter("refresh_token", refreshToken)
            };

            HttpAsyncUtils.HttpPost(RenrenSocialData.TokenUrl,
                                    HttpUtils.GetQueryFromParas(paras), "application/x-www-form-urlencoded", callBack);
        }
示例#11
0
        /// <summary>
        /// 获取AccessToken
        /// </summary>
        /// <param name="code"></param>
        /// <param name="callBack"></param>
        public void AccessToken(string code, HttpAsyncHandler callBack)
        {
            var paras = new List <APIParameter>()
            {
                new APIParameter("grant_type", "authorization_code"),
                new APIParameter("code", code),
                new APIParameter("client_id", RenrenSocialData.APIKey),
                new APIParameter("client_secret", RenrenSocialData.APISecret),
                new APIParameter("redirect_uri", RenrenSocialData.RedirectUri),
                new APIParameter("format", "json")
            };

            HttpAsyncUtils.HttpPost(RenrenSocialData.OAuthUri,
                                    HttpUtils.GetQueryFromParas(paras), "application/x-www-form-urlencoded;charset=utf-8", callBack);
        }
示例#12
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="paras"></param>
        /// <param name="callBack"></param>
        public void CallMethod(List <APIParameter> paras, HttpAsyncHandler callBack)
        {
            //paras.Add(new APIParameter("api_key", RenrenSocialData.APIKey));
            //paras.Add(new APIParameter("call_id", DateTime.Now.Millisecond.ToString()));
            paras.Add(new APIParameter("v", "1.0"));
            paras.Add(new APIParameter("access_token", SocialViewModel.Instance.DataInfos[SocialType.RENREN].AcessToken));
            paras.Add(new APIParameter("format", "json"));
            var strSig = CalSig(paras);

            if (string.IsNullOrEmpty(strSig))
            {
                return;
            }
            paras.Add(new APIParameter("sig", strSig));
            HttpAsyncUtils.HttpPost(RenrenSocialData.RenrenAPIUrl,
                                    HttpUtils.GetQueryFromParas(paras), "application/x-www-form-urlencoded", callBack);
        }
示例#13
0
        /// <summary>
        /// POST请求方式
        /// </summary>
        /// <param name="url"></param>
        /// <param name="queryString"></param>
        /// <param name="callback"></param>
        public static void HttpPost(string url, string queryString, string contentType, HttpAsyncHandler callback)
        {
            HttpWebRequest webRequest = WebRequest.Create(url) as HttpWebRequest;

            webRequest.Method = "POST";
            if (!string.IsNullOrEmpty(contentType))
            {
                webRequest.ContentType = contentType;
            }
            webRequest.BeginGetRequestStream(requestPost_Callback, new RequestStat(webRequest, queryString, callback));
        }
示例#14
0
        /// <summary>
        /// GET请求方式
        /// </summary>
        /// <param name="url"></param>
        /// <param name="queryString"></param>
        /// <param name="callback"></param>
        /// <returns></returns>
        public static void HttpGet(string url, string queryString, string contentType, HttpAsyncHandler callback)
        {
            if (!string.IsNullOrEmpty(queryString))
            {
                url += "?" + queryString;
            }

            HttpWebRequest webRequest = WebRequest.Create(url) as HttpWebRequest;

            webRequest.Method = "GET";
            if (!string.IsNullOrEmpty(contentType))
            {
                webRequest.ContentType = contentType;
            }
            webRequest.BeginGetResponse(asyncResult =>
            {
                var request = asyncResult.AsyncState as HttpWebRequest;
                if (request != null)
                {
                    try
                    {
                        using (var response = request.EndGetResponse(asyncResult))
                            using (var reader = new System.IO.StreamReader(response.GetResponseStream()))
                            {
                                callback(reader.ReadToEnd());
                            }
                    }
                    catch (WebException ex)
                    {
                        callback(ex.Message);
                    }
                }
            }, webRequest);
        }
示例#15
0
 public RequestStat(HttpWebRequest webRequest, string parameters, HttpAsyncHandler callBack)
 {
     Request = webRequest;
     Parameters = parameters;
     CallBack = callBack;
 }
示例#16
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="paras"></param>
 /// <param name="callBack"></param>
 public void CallMethod(List<APIParameter> paras, HttpAsyncHandler callBack)
 {
     //paras.Add(new APIParameter("api_key", RenrenSocialData.APIKey));
     //paras.Add(new APIParameter("call_id", DateTime.Now.Millisecond.ToString()));
     paras.Add(new APIParameter("v", "1.0"));
     paras.Add(new APIParameter("access_token", SocialViewModel.Instance.GetRecord(SocialType.RENREN).AcessToken));
     paras.Add(new APIParameter("format", "json"));
     var strSig = CalSig(paras);
     if (string.IsNullOrEmpty(strSig))
         return;
     paras.Add(new APIParameter("sig", strSig));
     HttpAsyncUtils.HttpPost(RenrenSocialFactory.RenrenAPIUrl,
         HttpUtils.GetQueryFromParas(paras), "application/x-www-form-urlencoded", callBack);
 }
示例#17
0
 public RequestStat(HttpWebRequest webRequest, string parameters, HttpAsyncHandler callBack)
 {
     Request    = webRequest;
     Parameters = parameters;
     CallBack   = callBack;
 }
示例#18
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="methodName"></param>
 /// <param name="callBack"></param>
 public void CallMethod(string methodName, HttpAsyncHandler callBack)
 {
     if (string.IsNullOrEmpty(methodName))
         return;
     var paras = new List<APIParameter>() { 
         new APIParameter("method",methodName)
     };
     CallMethod(paras, callBack);
 }