using System.Net; using System.Text; namespace Gatedge.ScanCode.Common { /// /// http提交客户端 /// public class HttpClients { /// /// Seivice URL /// public string Url { get; set; } /// /// 内容 /// public string Content { get; set; } /// /// Cookie,保证登录后,所有访问持有一个Cookie; /// static CookieContainer Cookie = new CookieContainer(); /// /// HTTP访问 /// public string Post() { HttpWebRequest httpRequest = HttpWebRequest.Create(Url) as HttpWebRequest; httpRequest.Method = "POST"; httpRequest.ContentType = "application/json"; httpRequest.CookieContainer = Cookie; httpRequest.Timeout = 1000 * 60; //1min using (Stream reqStream = httpRequest.GetRequestStream()) { string sContent = string.Empty; var bytes = UnicodeEncoding.UTF8.GetBytes(sContent); reqStream.Write(bytes, 0, bytes.Length); reqStream.Flush(); } using (var repStream = httpRequest.GetResponse().GetResponseStream()) { using (var reader = new StreamReader(repStream)) { return ValidateResult(reader.ReadToEnd()); } } } private static string ValidateResult(string responseText) { if (responseText.StartsWith("response_error:")) { return responseText.TrimStart("response_error:".ToCharArray()); } return responseText; } } }