public static int HttpPost(string url, string data, Encoding encoding, HttpWebRequestInitiator initiator, out string result) { try { HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(url); webReq.Method = "POST"; webReq.UserAgent = "Anxin_Server"; webReq.ContentType = "application/x-www-form-urlencoded;charset=GBK"; if (initiator != null) { initiator(webReq); } if (webReq.ContentType == "application/json" || webReq.ContentType == "text/json") { using (var streamWriter = new StreamWriter(webReq.GetRequestStream())) { streamWriter.Write(data); streamWriter.Close(); } } else { byte[] bData = encoding.GetBytes(data); webReq.ContentLength = bData.Length; using (Stream PostData = webReq.GetRequestStream()) { PostData.Write(bData, 0, bData.Length); PostData.Close(); } } //ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; //ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3; ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult); HttpWebResponse WebResp = (HttpWebResponse)webReq.GetResponse(); Stream Answer = WebResp.GetResponseStream(); result = getResult(Answer, encoding); return((int)WebResp.StatusCode); } catch (System.Exception ex) { result = $"{{ \"ret\":500,\"code\":\"-1000\", \"message\":\"{ex.Message}\" }}"; return(500); } }
public static int HttpPost(string url, string data, Encoding encoding, HttpWebRequestInitiator initiator, out string result) { try { HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(url); webReq.Method = "POST"; webReq.UserAgent = "Gecko_Server"; webReq.ContentType = "application/x-www-form-urlencoded;charset=GBK"; if (initiator != null) { initiator(webReq); } if (webReq.ContentType == "application/json" || webReq.ContentType == "text/json") { using (var streamWriter = new StreamWriter(webReq.GetRequestStream())) { streamWriter.Write(data); streamWriter.Close(); } } else { byte[] bData = encoding.GetBytes(data); webReq.ContentLength = bData.Length; using (Stream PostData = webReq.GetRequestStream()) { PostData.Write(bData, 0, bData.Length); PostData.Close(); } } HttpWebResponse WebResp = (HttpWebResponse)webReq.GetResponse(); Stream Answer = WebResp.GetResponseStream(); result = getResult(Answer, encoding); return((int)WebResp.StatusCode); } catch (System.Exception ex) { result = ex.Message; return(0); } }
public static string HttpGetHTML(string uri, System.Text.Encoding code, System.Net.CookieContainer cotainer, HttpWebRequestInitiator initiator) { if (string.IsNullOrEmpty(uri)) { return(""); } if (uri.ToLower().StartsWith(@"//")) { uri = "http:" + uri; } if (uri.ToLower().IndexOf("http") == -1) { uri = "http://" + uri; } StreamReader sr = null; try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri); request.Headers.Add("UA-CPU", "x86"); request.Referer = uri; request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727;)"; request.KeepAlive = false; request.CookieContainer = cotainer; request.Timeout = 20000; //设置远程页面请求超时时间 if (initiator != null) { initiator(request); } HttpWebResponse myResponse = (HttpWebResponse)request.GetResponse(); if (myResponse.StatusCode == HttpStatusCode.OK) { sr = new StreamReader(myResponse.GetResponseStream(), code); string serverResponse = sr.ReadToEnd().Trim(); return(serverResponse); } else { return("失败:Status:" + myResponse.StatusCode.ToString()); } } catch (Exception ex) { return("失败:ex:" + ex.ToString()); } finally { if (sr != null) { sr.Close(); sr.Dispose(); } } }
public static string HttpGetHtml(string url, HttpWebRequestInitiator initiator) { return(HttpGetHTML(url, Encoding.UTF8, new CookieContainer(), initiator)); }
public static IAsyncResult HttpPost(string uri, string body, HttpWebRequestInitiator initiator, HttpWebRequestAsyncCallback callback) { return(RequestHttp(HttpHelper.HttpMethod_POST, uri, DefaultEncoding, DefaultTimeOut, DefaultCookies, body, initiator, callback)); }
public static IAsyncResult RequestHttp(string httpMethod, string uri, Encoding encoding, int timeOut, CookieContainer cookies, string body, HttpWebRequestInitiator initiator, HttpWebRequestAsyncCallback callback) { var postParams = string.Empty; var request = (HttpWebRequest)WebRequest.Create(uri); if (cookies != null) { request.CookieContainer = cookies; } request.Timeout = timeOut; request.Method = httpMethod; request.UserAgent = "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.1667.0 Safari/537.36 GeckoDotnetHttpClient"; request.ContentType = "application/x-www-form-urlencoded"; if (initiator != null) { initiator(request); } if (httpMethod.ToLower() == HttpHelper.HttpMethod_POST.ToLower()) { if (request.ContentType == "application/json" || request.ContentType == "text/json") { using (var streamWriter = new StreamWriter(request.GetRequestStream())) { streamWriter.Write(body); streamWriter.Close(); } } else { var postData = encoding.GetBytes(body); request.ContentLength = postData.Length; using (var stream = request.GetRequestStream()) { stream.Write(postData, 0, postData.Length); stream.Close(); } } } var asyncCallback = new AsyncCallback(ar => { var serverResponse = string.Empty; var isOK = false; try { using (var response = request.EndGetResponse(ar) as HttpWebResponse) { var statusCode = response.StatusCode; if (statusCode == HttpStatusCode.OK || statusCode == HttpStatusCode.Created || statusCode == HttpStatusCode.Accepted) { isOK = true; } callback(ar, new WebRequestCallbackData() { IsOK = isOK, Encoding = encoding, Response = response }); } } catch (Exception) { callback(ar, new WebRequestCallbackData() { IsOK = false, Encoding = encoding, Response = null, }); } }); return(request.BeginGetResponse(asyncCallback, string.Empty)); }