private string webRequest(string url, WebMethod method, string data, string contentType) { HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); request.Method = method.ToString(); byte[] buffer = null; if (SessionId != "") { request.ContentType = contentType; request.Headers.Add("X-SFDC-Session: " + SessionId); buffer = System.Text.Encoding.ASCII.GetBytes(data); } else { request.ContentType = "text/xml; charset=utf-8"; request.Headers.Add("SOAPAction: login"); XmlDocument doc = new XmlDocument(); doc.LoadXml(data); buffer = System.Text.Encoding.ASCII.GetBytes(doc.InnerXml); } //"text/csv; charset=UTF-8" or "application/xml; charset=UTF-8" Stream postStream = request.GetRequestStream(); postStream.Write(buffer, 0, buffer.Length); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); StreamReader resp = new StreamReader(response.GetResponseStream()); return(resp.ReadToEnd()); }
public static HttpWebRequest CreateWebRequest(WebMethod method, WebProxy proxy, string requestUrl, bool preAuth) { HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(requestUrl); request.Method = method.ToString(); request.PreAuthenticate = preAuth; request.Proxy = proxy; return request; }
public static HttpWebRequest CreateWebRequest(string fullUrl, WebMethod method, string nonce, string timeStamp, string sig, string contentType, OAuthToken consumerToken, OAuthToken oauthToken, WebProxy proxy) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(fullUrl); request.Method = method.ToString(); request.Proxy = proxy; string authHeader = CreateAuthHeader(method, nonce, timeStamp, sig, consumerToken, oauthToken); //request.ContentType = "multipart/form-data; boundary=" + boundary; request.ContentType = contentType; request.Headers.Add("Authorization", authHeader); return request; }
private HttpWebRequest PreSetupRequest(string url, WebMethod method) { if (_loggedin) { Login(); } HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.CookieContainer = new CookieContainer(); request.Method = method.ToString(); if (Cookies != null) { request.CookieContainer.Add(Cookies); } return(request); }
public static string GetSignature(WebMethod method, string url, out string timestamp, out string nonce) { OAuthBase oAuth = new OAuthBase(); nonce = oAuth.GenerateNonce(); timestamp = oAuth.GenerateTimeStamp(); string nurl, nrp; Uri uri = new Uri(url); string sig = oAuth.GenerateSignature( uri, Yammer.Session.Auth.Key.ConsumerKey, Yammer.Session.Auth.Key.ConsumerSecret, Yammer.Session.Auth.Key.TokenKey, Yammer.Session.Auth.Key.TokenSecret, method.ToString(), timestamp, nonce, OAuthBase.SignatureTypes.PLAINTEXT, out nurl, out nrp); return System.Web.HttpUtility.UrlEncode(sig); }
public static HttpWebRequest CreateWebRequest(string fullUrl, WebMethod method, string nonce, string timeStamp, string sig, string boundary) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(fullUrl); request.Method = method.ToString(); request.Proxy = Yammer.Session.WebProxy; string authHeader = CreateAuthHeader(method, nonce, timeStamp, sig); request.ContentType = "multipart/form-data; boundary=" + boundary; request.Headers.Add("Authorization", authHeader); return request; }
private static HttpWebRequest CreateWebRequest(string fullUrl, WebMethod method, string[] oauthParams) { string nonce, timeStamp, sig; nonce = oauthParams[0]; timeStamp = oauthParams[1]; sig = oauthParams[2]; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(fullUrl); request.ServicePoint.Expect100Continue = false; request.KeepAlive = false; request.ProtocolVersion = HttpVersion.Version10; request.Method = method.ToString(); request.Proxy = Yammer.Session.WebProxy; string authHeader = CreateAuthHeader(method, nonce, timeStamp, sig); request.ContentType = "text/plain"; request.Headers.Add("Authorization", authHeader); return request; }
private static HttpWebRequest CreateWebRequest(string fullUrl, WebMethod method, string nonce, string timeStamp, string sig) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(fullUrl); request.Method = method.ToString(); request.Proxy = Yammer.Session.WebProxy; string authHeader = CreateAuthHeader(method, nonce, timeStamp, sig); request.ContentType = "application/x-www-form-urlencoded"; request.Headers.Add("Authorization", authHeader); return request; }
/// <summary> /// Submit a web request using oAuth. /// </summary> /// <param name="method">GET or POST</param> /// <param name="url">The full url, including the querystring.</param> /// <param name="postData">Data to post (querystring format)</param> /// <returns>The web server response.</returns> public IResponseReader GetResponseReader(WebMethod method, string url, string postData) { string outUrl = ""; string querystring = ""; string ret = ""; //Setup postData for signing. //Add the postData to the querystring. if (method == WebMethod.POST) { if (postData.Length > 0) { //Decode the parameters and re-encode using the oAuth UrlEncode method. NameValueCollection qs = HttpUtility.ParseQueryString(postData); postData = ""; foreach (string key in qs.AllKeys) { if (postData.Length > 0) { postData += "&"; } qs[key] = HttpUtility.UrlDecode(qs[key]); qs[key] = this.UrlEncode(qs[key]); postData += key + "=" + qs[key]; } if (url.IndexOf("?") > 0) { url += "&"; } else { url += "?"; } url += postData; } } Uri uri = new Uri(url); string nonce = this.GenerateNonce(); string timeStamp = this.GenerateTimeStamp(); //Generate Signature string sig = this.GenerateSignature(uri, this.ConsumerKey, this.ConsumerSecret, this.Token, this.TokenSecret, this.CallBackUrl, this.OAuthVerifier, method.ToString(), timeStamp, nonce, out outUrl, out querystring); querystring += "&oauth_signature=" + UrlEncode(sig); //Convert the querystring to postData if (method == WebMethod.POST) { postData = querystring; querystring = ""; } if (querystring.Length > 0) { outUrl += "?"; } return new ResponseReader(method, outUrl + querystring, postData); }
private void Request(ILogger logger, string name, string path, WebMethod method, object payload) { var fullUrl = _baseUrl + path; // - Debug information var payloadToJson = payload != null?JsonConvert.SerializeObject(payload) : null; var stopwatch = new Stopwatch(); logger.WriteLine(""); logger.WriteLine("---------------- new request ----------------"); logger.WriteLine($"Request: {fullUrl}"); logger.WriteLine($"Method: {method}"); if (!string.IsNullOrEmpty(payloadToJson)) { logger.WriteLine("------------------ payload ------------------"); logger.WriteLine(payloadToJson); logger.WriteLine("---------------------------------------------"); } else { logger.WriteLine("Without payload"); } stopwatch.Start(); // - End debug information // Create a WebRequest (JSON, with method) var request = (HttpWebRequest)WebRequest.Create(fullUrl); request.Method = method.ToString(); request.CookieContainer = _container; request.Timeout = int.MaxValue; request.ReadWriteTimeout = int.MaxValue; request.ContinueTimeout = int.MaxValue; try { // Write response to stream if (!string.IsNullOrEmpty(payloadToJson)) { request.ContentType = "application/json; charset=UTF-8"; using (var streamWriter = new StreamWriter(request.GetRequestStream())) { streamWriter.Write(payloadToJson); streamWriter.Flush(); streamWriter.Close(); } } // Receive initial headers: var response = (HttpWebResponse)request.GetResponse(); // - Debug information logger.WriteLine($"Statuscode: {((int)response.StatusCode)}"); logger.WriteLine($"Elapsed time: {stopwatch.Elapsed}"); // - End debug information // Write to file when having a name if (!string.IsNullOrEmpty(name)) { logger.WriteLine($"-- Writing response to file: {name}.json --"); // Create directory Directory.CreateDirectory(Path.GetDirectoryName(name)); using (var file = File.Create($"{name}.json")) { response.GetResponseStream().CopyTo(file); file.Flush(); file.Close(); } } // - Debug information stopwatch.Stop(); logger.WriteLine($"End time: {stopwatch.Elapsed}"); logger.WriteLine($"Bytes received: {response.ContentLength}"); // - End debug information response.Close(); } catch (Exception e) { logger.WriteLine(e.ToString()); } }
public static string WebRequestWithAccept(WebMethod method, string url, string postData) { HttpWebRequest webRequest = null; StreamWriter requestWriter = null; string responseData = ""; webRequest = System.Net.WebRequest.Create(url) as HttpWebRequest; webRequest.Method = method.ToString(); webRequest.ServicePoint.Expect100Continue = false; //webRequest.Headers.Add("Content-Type", "application/json"); //webRequest.Headers.Add("Accept", "application/json"); webRequest.ContentType = "application/json"; webRequest.Accept = "application/json"; /* requestWriter = new StreamWriter(webRequest.GetRequestStream()); try { requestWriter.Write(postData); } catch { throw; } finally { requestWriter.Close(); requestWriter = null; }*/ responseData = WebResponseGet(webRequest); webRequest = null; return responseData; }
public static string WebRequest(WebMethod method, string url, string postData, string access_token, bool isAcceptAdded = false) { HttpWebRequest webRequest = null; StreamWriter requestWriter = null; string responseData = ""; webRequest = System.Net.WebRequest.Create(url) as HttpWebRequest; webRequest.Method = method.ToString(); webRequest.ServicePoint.Expect100Continue = false; webRequest.ContentType = "application/json"; if (isAcceptAdded) { webRequest.Accept = "application/json"; } //webRequest.UserAgent = "Identify your application please."; //webRequest.Timeout = 20000; if (method == WebMethod.DELETE) { if (!string.IsNullOrEmpty(access_token)) { webRequest.Headers.Add("Authorization", "Bearer " + access_token); } } else if (method == WebMethod.POST) { if (!string.IsNullOrEmpty(access_token)) { webRequest.Headers.Add("Authorization", "Bearer " + access_token); } webRequest.ContentType = "application/json"; webRequest.Accept = "application/json"; //webRequest.ContentType = "application/x-www-form-urlencoded"; //POST the data. requestWriter = new StreamWriter(webRequest.GetRequestStream()); try { requestWriter.Write(postData); } catch { throw; } finally { requestWriter.Close(); requestWriter = null; } } responseData = WebResponseGet(webRequest); webRequest = null; return responseData; }
public static string GetSignature(WebMethod method, OAuthToken consumerToken, OAuthToken oauthToken, string url, out string timestamp, out string nonce) { OAuthBase oAuth = new OAuthBase(); nonce = oAuth.GenerateNonce(); timestamp = oAuth.GenerateTimeStamp(); string nurl, nrp; string tokenKey = oauthToken == null ? String.Empty : oauthToken.TokenKey; string tokenSecret = oauthToken == null ? String.Empty : oauthToken.TokenSecret; Uri uri = new Uri(url); string sig = oAuth.GenerateSignature( uri, consumerToken.TokenKey, consumerToken.TokenSecret, tokenKey, tokenSecret, method.ToString(), timestamp, nonce, OAuthBase.SignatureTypes.HMACSHA1, out nurl, out nrp); return System.Web.HttpUtility.UrlEncode(sig); }