public static string CallUrl(string url) { string data = string.Empty; HttpWebRequestMethod method = HttpWebRequestMethod.GET; return(CallUrl(url, data, method)); }
/// <summary> /// Create new instance of <see cref="HttpWebRequest"/> /// </summary> /// <param name="restUrl"></param> /// <param name="method"></param> private HttpWebRequest(HttpRestUrl restUrl, HttpWebRequestMethod method, string content = null) { this.RestUrl = restUrl ?? throw new ArgumentNullException(nameof(restUrl), "RestUrl cannot be null."); this.Method = method; this.Content = content; this.InitializeRequestMessage(); }
public static string PostDataToServerForFlight(string url, string data, HttpWebRequestMethod method) { HttpWebRequest request = null; try { //request.UserAgent = "Mozilla/6.0 (MSIE 6.0; Windows NT 5.1; Natas.Robot)"; //request.Timeout = 3000; switch (method) { case HttpWebRequestMethod.GET: url = string.Format("{0}?{1}", url, data); request = WebRequest.Create(url) as HttpWebRequest; request.Method = HttpWebRequestMethod.GET.ToString(); break; case HttpWebRequestMethod.POST: { request = WebRequest.Create(url) as HttpWebRequest; request.Method = HttpWebRequestMethod.POST.ToString(); byte[] bdata = Encoding.UTF8.GetBytes(data); request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = bdata.Length; Stream streamOut = request.GetRequestStream(); streamOut.Write(bdata, 0, bdata.Length); streamOut.Close(); } break; } HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream streamIn = response.GetResponseStream(); StreamReader reader = new StreamReader(streamIn); string result = reader.ReadToEnd(); reader.Close(); streamIn.Close(); response.Close(); return(result); } catch (Exception) { throw; } finally { } }
/// <summary> /// Creates and runs a request with the given HTTP parameters /// </summary> /// <param name="method">the HTTP method</param> /// <param name="path">the HTTP path</param> /// <param name="parameters">the query parameters</param> /// <param name="mimeType">the accept/contenttype header</param> /// <param name="data">the request body</param> /// <returns></returns> private ResponseWrapper GetResponse(HttpWebRequestMethod method, string path, QueryParameters parameters, string mimeType, Stream data) { HttpWebRequest request = CreateRequest(method, path, parameters, mimeType); if (method == HttpWebRequestMethod.POST || method == HttpWebRequestMethod.PUT) { request.ContentType = mimeType; data.CopyTo(request.GetRequestStream()); } DebugPrintRequest(request, "<binary data>"); //return the response wrapped return(DoRequest(request)); }
/// <summary> /// 向服务器提交XML数据,如果报错,返回报错信息 /// </summary> /// <param name="url">远程访问的地址</param> /// <param name="data">参数</param> /// <param name="method">Http页面请求方法</param> /// <returns>远程页面调用结果</returns> public static string PostDataToServerException(string url, string data, HttpWebRequestMethod method, int time = 5000) { HttpWebRequest request = null; try { request = WebRequest.Create(url) as HttpWebRequest; request.Timeout = time; switch (method) { case HttpWebRequestMethod.GET: request.Method = HttpWebRequestMethod.GET.ToString(); break; case HttpWebRequestMethod.POST: { request.Method = HttpWebRequestMethod.POST.ToString(); byte[] bdata = Encoding.UTF8.GetBytes(data); request.ContentType = "application/json;charset=utf-8"; request.ContentLength = bdata.Length; Stream streamOut = request.GetRequestStream(); streamOut.Write(bdata, 0, bdata.Length); streamOut.Close(); } break; } HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream streamIn = response.GetResponseStream(); StreamReader reader = new StreamReader(streamIn); string result = reader.ReadToEnd(); reader.Close(); streamIn.Close(); response.Close(); return(result); } catch (Exception ex) { return(ex.Message.ToString()); } finally { } }
private HttpWebRequest CreateRequest(HttpWebRequestMethod method, string path, QueryParameters parameters, string mimeType) { //build the URL with the given parts UrlBuilder url = new UrlBuilder(config.BaseURI); url.Path = path; url.QueryParameters = parameters; //create a request with the given method/headers/contenttype HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url.ToString()); request.Headers.Add(HttpRequestHeader.Authorization, "Basic " + encodedApiKey); request.Accept = mimeType; request.Method = Enum.GetName(typeof(HttpWebRequestMethod), method); return(request); }
/// <summary> /// Creates and runs a request with the given HTTP parameters /// </summary> /// <param name="method">the HTTP method</param> /// <param name="path">the HTTP path</param> /// <param name="parameters">the query parameters</param> /// <param name="mimeType">the accept/contenttype header</param> /// <param name="data">the request body</param> /// <returns></returns> private ResponseWrapper GetResponse(HttpWebRequestMethod method, string path, QueryParameters parameters, string mimeType, string data) { HttpWebRequest request = CreateRequest(method, path, parameters, mimeType); if (method == HttpWebRequestMethod.POST || method == HttpWebRequestMethod.PUT) { request.ContentType = mimeType; using (TextWriter writer = new StreamWriter(request.GetRequestStream())) { writer.Write(data); } } DebugPrintRequest(request, data); //return the response wrapped return(DoRequest(request)); }
public static string ToWebMethod(this HttpWebRequestMethod thisValue) { switch (thisValue) { case HttpWebRequestMethod.Get: return(WebRequestMethods.Http.Get); case HttpWebRequestMethod.Connect: return(WebRequestMethods.Http.Connect); case HttpWebRequestMethod.Head: return(WebRequestMethods.Http.Head); case HttpWebRequestMethod.Put: return(WebRequestMethods.Http.Put); case HttpWebRequestMethod.Post: return(WebRequestMethods.Http.Post); case HttpWebRequestMethod.Delete: return(MethodConstants.DELETE); case HttpWebRequestMethod.Options: return(MethodConstants.OPTIONS); case HttpWebRequestMethod.Trace: return(MethodConstants.TRACE); case HttpWebRequestMethod.Patch: return(MethodConstants.PATCH); case HttpWebRequestMethod.MakeCollection: return(WebRequestMethods.Http.MkCol); default: return(string.Empty); } }
public static HttpMethod ToHttpMethod(this HttpWebRequestMethod thisValue) { switch (thisValue) { case HttpWebRequestMethod.Get: return(HttpMethod.Get); case HttpWebRequestMethod.Connect: return(__connectMethod); case HttpWebRequestMethod.Head: return(HttpMethod.Head); case HttpWebRequestMethod.Put: return(HttpMethod.Put); case HttpWebRequestMethod.Post: return(HttpMethod.Post); case HttpWebRequestMethod.Delete: return(HttpMethod.Delete); case HttpWebRequestMethod.Options: return(HttpMethod.Options); case HttpWebRequestMethod.Trace: return(HttpMethod.Trace); case HttpWebRequestMethod.Patch: return(__patchMethod); case HttpWebRequestMethod.MakeCollection: return(__mkColMethod); default: throw new ArgumentOutOfRangeException(nameof(thisValue), thisValue, null); } }
/// <summary> /// 主要功能:访问远程URL /// </summary> /// <param name="url">远程访问的地址</param> /// <param name="data">参数</param> /// <param name="method">Http页面请求方法</param> /// <returns>远程页面调用结果</returns> public static string CallUrl(string url, string data, HttpWebRequestMethod method) { HttpWebRequest request = null; if (method == HttpWebRequestMethod.GET) { if (url.IndexOf("?") > 0) { url = url + "&"; } else { url = url + "?"; } } try { request = WebRequest.Create(url) as HttpWebRequest; //request.UserAgent = "Mozilla/6.0 (MSIE 6.0; Windows NT 5.1; Natas.Robot)"; //request.Timeout = 3000; switch (method) { case HttpWebRequestMethod.GET: request.Method = HttpWebRequestMethod.GET.ToString(); break; case HttpWebRequestMethod.POST: { request.Method = HttpWebRequestMethod.POST.ToString(); byte[] bdata = Encoding.UTF8.GetBytes(data); request.ContentType = "application/x-www-form-urlencoded;charset=utf-8"; request.ContentLength = bdata.Length; Stream streamOut = request.GetRequestStream(); streamOut.Write(bdata, 0, bdata.Length); streamOut.Close(); } break; case HttpWebRequestMethod.DELETE: request.Method = HttpWebRequestMethod.DELETE.ToString(); break; } #region HttpWebResponse response = null; try { response = (HttpWebResponse)request.GetResponse(); } catch (WebException ex) { response = (HttpWebResponse)ex.Response; } #endregion Stream streamIn = response.GetResponseStream(); StreamReader reader = new StreamReader(streamIn); string result = reader.ReadToEnd(); reader.Close(); streamIn.Close(); response.Close(); return(result); } catch (Exception ex) { return(string.Empty); } finally { } }
public static string CallUrl(string url, string data, HttpWebRequestMethod method, string inputCharset) { HttpWebRequest request = null; if (method == HttpWebRequestMethod.GET) { if (url.IndexOf("?") > 0) { url = url + "&"; } else { url = url + "?"; } } try { request = WebRequest.Create(url) as HttpWebRequest; //request.UserAgent = "Mozilla/6.0 (MSIE 6.0; Windows NT 5.1; Natas.Robot)"; //request.Timeout = 3000; switch (method) { case HttpWebRequestMethod.GET: request.Method = HttpWebRequestMethod.GET.ToString(); break; case HttpWebRequestMethod.POST: { request.Method = HttpWebRequestMethod.POST.ToString(); byte[] bdata = Encoding.GetEncoding(inputCharset).GetBytes(data); request.ContentType = string.Format("application/x-www-form-urlencoded;charset={0}", inputCharset); request.ContentLength = bdata.Length; using (Stream stream = request.GetRequestStream()) { stream.Write(bdata, 0, bdata.Length); } } break; case HttpWebRequestMethod.PUT: request.Method = HttpWebRequestMethod.PUT.ToString(); byte[] putData = Encoding.GetEncoding(inputCharset).GetBytes(data); request.ContentType = string.Format("application/x-www-form-urlencoded;charset={0}", inputCharset); request.ContentLength = putData.Length; using (Stream stream = request.GetRequestStream()) { stream.Write(putData, 0, putData.Length); } break; case HttpWebRequestMethod.DELETE: request.Method = HttpWebRequestMethod.DELETE.ToString(); byte[] deleteData = Encoding.GetEncoding(inputCharset).GetBytes(data); request.ContentType = string.Format("application/x-www-form-urlencoded;charset={0}", inputCharset); request.ContentLength = deleteData.Length; using (Stream stream = request.GetRequestStream()) { stream.Write(deleteData, 0, deleteData.Length); } break; //default: // break; } string strResponse = string.Empty; HttpWebResponse response = request.GetResponse() as HttpWebResponse; using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(inputCharset))) { strResponse = reader.ReadToEnd(); } response.Close(); return(strResponse); } catch (Exception e) { throw e; } finally { } }
/// <summary> /// 主要功能:访问远程URL /// </summary> /// <param name="url">远程访问的地址</param> /// <param name="data">参数</param> /// <returns>远程页面调用结果</returns> public static string CallUrl(string url, string data) { HttpWebRequestMethod method = HttpWebRequestMethod.POST; return(CallUrl(url, data, method)); }
/// <summary> /// 向服务器提交json数据 /// </summary> /// <param name="url">远程访问的地址</param> /// <param name="data">参数</param> /// <param name="method">Http页面请求方法</param> /// <returns>远程页面调用结果</returns> public static string PostDataToServer(string url, string data, HttpWebRequestMethod method, string contentType = "application/json;charset=utf-8") { HttpWebRequest request = null; try { request = WebRequest.Create(url) as HttpWebRequest; //request.UserAgent = "Mozilla/6.0 (MSIE 6.0; Windows NT 5.1; Natas.Robot)"; //request.Timeout = 3000; switch (method) { case HttpWebRequestMethod.GET: request.Method = HttpWebRequestMethod.GET.ToString(); break; case HttpWebRequestMethod.POST: { request.Method = HttpWebRequestMethod.POST.ToString(); byte[] bdata = Encoding.UTF8.GetBytes(data); request.ContentType = contentType; request.ContentLength = bdata.Length; Stream streamOut = request.GetRequestStream(); streamOut.Write(bdata, 0, bdata.Length); streamOut.Close(); } break; } #region 待删除 //HttpWebResponse response = null; //try //{ // response = (HttpWebResponse)request.GetResponse(); //} //catch (WebException ex) //{ // //response = (HttpWebResponse)ex.Response; // /********************************************************* // * 网络异常,如404,500等错误 // ********************************************************/ // throw; //} #endregion HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream streamIn = response.GetResponseStream(); StreamReader reader = new StreamReader(streamIn); string result = reader.ReadToEnd(); reader.Close(); streamIn.Close(); response.Close(); return(result); } catch (Exception ex) { throw ex; } finally { } }
private static HttpWebRequest Method(this HttpWebRequest request, HttpWebRequestMethod method) { request.Method = method.ToString(); return(request); }