public static string SendHttpGet(WebRequest request, YahooMessengerAuthentication authentication) { request.Method = "GET"; if(authentication!=null) { if(!authentication.IsUsingOAuth) request.Headers.Add("Cookie",authentication.Cookie); else request.Headers.Add("Authorization", "OAuth"); } using(var response = (HttpWebResponse)request.GetResponse()) { if(response == null) throw new NullReferenceException(); var respCode = response.StatusCode; if (respCode != HttpStatusCode.OK) throw new HttpException(HttpException.HTTP_OK_NOT_RECEIVED, respCode.ToString()); var dataStream = response.GetResponseStream(); if (dataStream == null) throw new NullReferenceException(); var reader = new StreamReader(dataStream); // Read the content. var responseFromServer = new StringBuilder(""); responseFromServer.Append(reader.ReadToEnd()); reader.Close(); dataStream.Close(); response.Close(); return responseFromServer.ToString(); } }
public static string SendHttpPost(WebRequest request, YahooMessengerAuthentication authentication, string content) { request.Method = "POST"; byte[] byteArray = Encoding.UTF8.GetBytes(content); request.ContentLength = byteArray.Length; var dataStream = request.GetRequestStream(); // Write the data to the request stream. dataStream.Write(byteArray, 0, byteArray.Length); // Close the Stream object. dataStream.Close(); using(var response = (HttpWebResponse) request.GetResponse()) { if (response == null) throw new NullReferenceException(); var respCode = response.StatusCode; if (respCode != HttpStatusCode.OK) throw new HttpException(HttpException.HTTP_OK_NOT_RECEIVED, respCode.ToString()); dataStream = response.GetResponseStream(); if (dataStream == null) throw new NullReferenceException(); var reader = new StreamReader(dataStream); var responseFromServer = new StringBuilder(""); responseFromServer.Append(reader.ReadToEnd()); reader.Close(); dataStream.Close(); response.Close(); return responseFromServer.ToString(); } }
public void ExecuteRequest() { // Verify mandatory parameters if (ConsumerKey == null) throw new MessengerException(MessengerException.NO_CONSUMER_KEY_GIVEN, "No consumer key given"); AuthenticationToken = new YahooMessengerAuthentication() { OauthConsumerKey = ConsumerKey }; // Create the HTTP URL string url = YahooMessengerConstants.ExchangePartGetUrl + "?" + "&oauth_consumer_key=" + ConsumerKey + "&oauth_signature_method=" + AuthenticationToken.OauthSignatureMethod + "&oauth_nonce=" + AuthenticationToken.OauthNonce + "&oauth_timestamp=" + AuthenticationToken.OauthTimestamp + "&oauth_signature=" + Signature + "&oauth_version=" + AuthenticationToken.OauthVersion + "&oauth_token=" + Token; // Perform the actual call to the server WebRequest request = WebRequest.Create(url); var resultStr = HttpUtils.SendHttpGet(request); var tmp = HttpUtility.ParseQueryString(resultStr); Token = tmp["oauth_token"]; TokenSecret = tmp["oauth_token_secret"]; AuthenticationToken.OauthToken = Token; AuthenticationToken.OauthSignature = ConsummerSecret + "%26" + TokenSecret; }