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://blog.51cto.com/13461673/2124402

时间: 2024-10-01 19:37:10

HTTP 请求,POST方式,把一个对象序列化成JSON样式作为参数访问服务器的相关文章

使用 EntityFramework后把一个对象序列化成json字符串引起循环引用的问题

先看一个T4模板生成的model实体类 1 著作权归作者所有. 2 商业转载请联系作者获得授权,非商业转载请注明出处. 3 作者:卷猫 4 链接:http://anneke.cn/ArticleInfo/Detial/15 5 来源:Anneke.cn 6 7 //------------------------------------------------------------------------------ 8 // <auto-generated> 9 // 此代码已从模板生成.

NET Framework 3 5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON

分享一下我老师大神的人工智能教程吧.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net 原贴地址:http://bbs.zkinfo.com/thread-80510-1-1.html 最近要用到jQuery调用JSON,但遇到几个问题,正面将记录下遇到的问题及解决方法. 在将Object序列化成JSON时普遍是使用以下几种方式: 1. 第三方组件Newtonsoft.Json.dll来序列化. 2. 直接用Strin

iOS网络: 把Array和Dictionaries序列化成JSON对象

你想把 Array 和 dictionary 序列化成 JSON 对象.以方便在网络中传输或者保存到磁盘中. 方案: 使用 NSJSONSerialization 这个类的 dataWithJSONObject:options:error:方法来实现. 讨论: NSJSONSerialization 这个类的 dataWithJSONObject:options:error:方法可以对数组和字典进行序列化,这些数组和字典包含的值为:NSString.NSNumber.NSArray.NSDict

JavaScriptSerializer序列化成Json时DateTime类型数据的处理

JavaScriptSerializer在序列化时会将DateTime的数据序列化成类似\/Date(626543800000)\/这样的值,找了很多方法都不如意,最后在一个博客找到了完美的解决方法,地址:http://blog.calyptus.eu/seb/2011/12/custom-datetime-json-serialization/,通过自定义类型转换器的方式转换成想要的格式,转换器代码如下: + ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1

.Net使用Newtonsoft.Json.dll(JSON.NET)对象序列化成json、反序列化json示例教程

JSON作为一种轻量级的数据交换格式,简单灵活,被很多系统用来数据交互,作为一名.NET开发人员,JSON.NET无疑是最好的序列化框架,支持XML和JSON序列化,高性能,免费开源,支持LINQ查询.目前已被微软集成于webapi框架之中,因此,熟练掌握JSON.NET相当重要,这篇文章是零度参考官网整理的示例,通过这些示例,可以全面了解JSON.NET提供的功能. Newtonsoft.Json的地址: 官网:http://json.codeplex.com/ 源码地址:https://gi

C#实体对象序列化成Json,格式化,并让字段的首字母小写

解决办法有两种:第一种:使用对象的字段属性设置JsonProperty来实现(不推荐,因为需要手动的修改每个字段的属性) public class UserInfo { [JsonProperty("id")] public int Id{ set; get; } [JsonProperty("userName")] public string UserName{ set; get; } } 第二种:使用newtonsoft.json来设置格式化的方式(推荐使用)

jackson2.8.4java对象序列化成json字符串格式化时间

public class User {private int id; private Date birthday; private double money; private String name; public User() { } public User(int id, String name, Date birthday) { super(); this.id = id; this.name = name; this.birthday = birthday; } public User(

将序列化成json格式后的日期(毫秒数)转成日期格式

function ChangeDateFormat(cellval) { var date = new Date(parseInt(cellval.replace("/Date(", "").replace(")/", ""), 10)); var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMont

C#将对象序列化成JSON字符串

public string GetJsonString() { List<Product> products = new List<Product>(){ new Product(){Name="苹果",Price=5.5}, new Product(){Name="橘子",Price=2.5}, new Product(){Name="干柿子",Price=16.00} }; ProductList productlis