/// <summary> /// /// </summary> /// <param name="authorizeInfo"></param> /// <param name="oauthVerifier"></param> /// <returns></returns> public AccessTokenInfo GetAccessToken(AuthorizeInfo authorizeInfo, String oauthVerifier) { AuthorizeInfo ai = authorizeInfo; SignatureInfo si = OAuthClient.GenerateSignature(new Uri(this.AccessTokenUrl), this.ConsumerKey, this.ConsumerSecret , ai.RequestToken, ai.RequestTokenSecret, "POST", OAuthClient.GenerateTimeStamp(), OAuthClient.GenerateNonce() , OAuthClient.SignatureTypes.HMACSHA1); HttpClient cl = new HttpClient(String.Format("{0}?{1}&oauth_verifier={2}&oauth_signature={3}", this.AccessTokenUrl , si.NormalizedRequestParameters, oauthVerifier, si.Signature)); String s = cl.GetBodyText(); return AccessTokenInfo.Create(s, "oauth_token", "oauth_token_secret"); }
/// <summary> /// /// </summary> /// <param name="requestToken"></param> /// <param name="requestTokenSecret"></param> /// <returns></returns> public AccessTokenInfo GetAccessToken(String requestToken, String requestTokenSecret) { String nonce = OAuthClient.GenerateNonce(); String timestamp = OAuthClient.GenerateTimeStamp(); String url = this.AccessTokenUrl; SignatureInfo si = OAuthClient.GenerateSignature(new Uri(url), this.ConsumerKey, this.ConsumerSecret , requestToken, requestTokenSecret, "POST", timestamp, nonce, OAuthClient.SignatureTypes.HMACSHA1); HttpClient cl = new HttpClient(String.Format("{0}?{1}&oauth_signature={2}" , url, si.NormalizedRequestParameters, si.Signature)); String result = cl.GetBodyText(); return AccessTokenInfo.Create(result, "oauth_token", "oauth_token_secret"); }
/// <summary> /// /// </summary> /// <returns></returns> public AuthorizeInfo GetAuthorizeInfo() { String nonce = OAuthClient.GenerateNonce(); String timestamp = OAuthClient.GenerateTimeStamp(); String url = this.RequestTokenUrl; SignatureInfo si = OAuthClient.GenerateSignature(new Uri(url), this.ConsumerKey, this.ConsumerSecret , "", "", "GET", timestamp, nonce, OAuthClient.SignatureTypes.HMACSHA1); HttpClient cl = new HttpClient(String.Format("{0}?{1}&oauth_signature={2}", url, si.NormalizedRequestParameters, si.Signature)); String result = cl.GetBodyText(); //正規表現でoauth_token,oauth_token_secret取得 AuthorizeInfo ai = new AuthorizeInfo(); ai.AuthorizeUrl = String.Format("{0}?{1}", this.AuthorizeUrl, result); ai.RequestToken = this.GetMatchValue(RegexList.OAuthToken, result); ai.RequestTokenSecret = this.GetMatchValue(RegexList.OAuthTokenSecret, result); return ai; }
private Products GetProducts() { Products result = new Products(); try { _httpClient = new HttpClient(); string url = String.Format("{0}?ProductName={1}&Version={2}", this.Config.UpdateUrl, this.ProductName, this.ProductVersion); byte[] data = _httpClient.Get(url); using (MemoryStream memoryStream = new MemoryStream(data)) { XmlSerializer serializer = new XmlSerializer(typeof(UpdateResult)); UpdateResult updateResult = (UpdateResult)serializer.Deserialize(memoryStream); //has error ? if (!String.IsNullOrEmpty(updateResult.Error)) { throw new Exception(updateResult.Error); } //find new version .. result.AddRange(updateResult.Products.FindAll(obj => obj.ProductName.Equals(this.ProductName) && (new Version(obj.ProductVersion) > ProductVersion))); } } catch (Exception exception) { OnError(new UpdateErrorArgs(exception)); } //has a new version .. if (result.Count > 0) { //tigger callback method . OnNewVersion(new NewVersionEventArgs(result)); } else { OnError(new UpdateErrorArgs("hav't a new version .",-1)); } return result; }
private HttpClient CreateHttpClientRequestHeaderMode(HttpMethodName methodName, String url, String token, String tokenSecret, IDictionary<String, String> queryString) { String timeStamp = OAuthClient.GenerateTimeStamp(); String nonce = OAuthClient.GenerateNonce(); Dictionary<String, String> pp = OAuthClient.GenerateParameters(ConsumerKey, token, timeStamp, nonce); Uri u = new Uri(HttpClient.CreateQueryString(url, queryString, OAuthClient.UrlEncode)); SignatureInfo si = GenerateSignature(u, this.ConsumerKey, this.ConsumerSecret, token, tokenSecret , methodName.ToString().ToUpper(), timeStamp, nonce); pp.Add("oauth_signature", OAuthClient.UrlEncode(si.Signature)); //NOTE:NET2.0 HttpClient cl = new HttpClient(HttpClient.CreateQueryString(url, queryString, HttpClient.UrlEncode)); cl.MethodName = methodName; cl.Headers[HttpRequestHeader.Authorization] = this.CreateOAuthHeader(pp); return cl; }
private HttpClient CreateHttpClientQueryStringMode(HttpMethodName methodName, String url, String token, String tokenSecret, IEnumerable<KeyValuePair<string, string>> queryString) { String timeStamp = OAuthClient.GenerateTimeStamp(); String nonce = OAuthClient.GenerateNonce(); Dictionary<String, String> pp = OAuthClient.GenerateParameters(ConsumerKey, token, timeStamp, nonce); foreach (KeyValuePair<string, string> p in queryString) { pp.Add(p.Key, p.Value); } //NOTE:NET2.0 Uri u = new Uri(HttpClient.CreateQueryString(url, pp, OAuthClient.UrlEncode)); SignatureInfo si = GenerateSignature(u, this.ConsumerKey, this.ConsumerSecret, token, tokenSecret , methodName.ToString().ToUpper(), timeStamp, nonce); pp.Add("oauth_signature", OAuthClient.UrlEncode(si.Signature)); //NOTE:NET2.0 HttpClient cl = new HttpClient(HttpClient.CreateQueryString(url, pp, HttpClient.UrlEncode)); cl.MethodName = methodName; return cl; }
private void SetHttpClientProperty(HttpClient client) { HttpClient cl = client; //NOTE:NET2.0 cl.RequestBufferSize = this.RequestBufferSize; cl.RequestEncoding = this.RequestEncoding; cl.ResponseEncoding = this.ResponseEncoding; cl.Uploading += this.Uploading; cl.Error += this.Error; cl.BeginInvoke = this.BeginInvoke; }