web服务器接收post消息json格式,HTTP 请求,POST方式,把一个对象序列化成JSON样式作为参数访问服务器...

public static string Login(Login login)

{

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 "";

}