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 "";
}
本文标题:HTTP请求,POST方式,把一个对象序列化成JSON样式作为参数访问服务器
文章来源:http://azwzsj.com/article/gpddcj.html