HTTP 請求,POST方式,把一個對象序列化成JSON樣式作為參數訪問服務器
阿新 • • 發佈:2018-06-04
HTTP請求 序列化對象轉JSON public static string Login(Login login)
{
HttpWebRequest request;
WebResponse response;
string remoteAddress = ConfigurationManager.AppSettings["remoteAddress"];
string LoginServiceName = ConfigurationManager.AppSettings["LoginServiceName"];
{
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樣式作為參數訪問服務器