{
HttpWebRequest request;
WebResponse response;
string remoteAddress = ConfigurationManager.AppSettings["remoteAddress"];
string LoginServiceName = ConfigurationManager.AppSettings["LoginServiceName"];
???????byte[] bytes = Encoding.Default.GetBytes(string.Format("{0}@{1}:{2}", login.userid, login.factory, login.password)); ???????string userNamePass = Convert.ToBase64String(bytes); ???????DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Login)); ???????MemoryStream ms = new MemoryStream(); ???????ser.WriteObject(ms, login); ???????var json = Encoding.UTF8.GetString(ms.GetBuffer(), 0, (int)ms.Length); ???????string Authorization = "Basic " + userNamePass; ???????string strPostUrl = string.Format("{0}/{1}.json", remoteAddress, LoginServiceName); ???????request = (HttpWebRequest)WebRequest.Create(strPostUrl); ???????request.Headers.Add("Authorization", Authorization); ???????string strResponseData = String.Empty; ???????byte[] bs = Encoding.ASCII.GetBytes(json); ???????request.Method = "POST"; ???????request.Timeout = 50000; ???????request.ContentType = "application/json"; ???????request.ContentLength = bs.Length; ???????using (Stream reqStream = request.GetRequestStream()) ???????{ ???????????reqStream.Write(bs, 0, bs.Length); ???????????reqStream.Close(); ???????} ???????using (response = (HttpWebResponse)request.GetResponse()) ???????{ ???????????using (StreamReader streamReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8)) ???????????{ ???????????????strResponseData = streamReader.ReadToEnd().ToString(); ???????????????if (strResponseData.Contains("success") && strResponseData.Contains("true")) ???????????????????return Authorization; ???????????} ???????} ???????response.Close(); ???????return ""; ???}
HTTP 请求,POST方式,把一个对象序列化成JSON样式作为参数访问服务器
原文地址:http://blog.51cto.com/13461673/2124402