public static async Task <HttpMessage> SendAsync(string method, string url, Message msg, string contentType = CONTENTTYPE, CookieContainer cookie = null) { var httpMessage = new HttpMessage(); httpMessage.Verb = method; try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = method; request.ContentType = contentType; // CONTENTTYPE; //request.Headers. = Encoding.UTF8.GetByteCount(postDataStr); request.CookieContainer = cookie; Stream myRequestStream = await request.GetRequestStreamAsync(); StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding("gb2312")); myStreamWriter.Write(msg.Serialize()); myStreamWriter.Dispose(); var response = await request.GetResponseAsync(); var cookievalue = cookie.GetCookies(response.ResponseUri); Stream myResponseStream = response.GetResponseStream(); httpMessage.Deserialize(myResponseStream); return(httpMessage); } catch (Exception ex) { httpMessage.Msg = ex.Message; return(httpMessage); } }