/// <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); }
/// <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)); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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)); }
/// <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); }
public RequestStat(HttpWebRequest webRequest, string parameters, HttpAsyncHandler callBack) { Request = webRequest; Parameters = parameters; CallBack = callBack; }
/// <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); }
/// <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); }