近期开发 MSN账号登录获取账号信息,动态新闻等功能REST API文档,说参数传参有2种方式, 一种是Post,一种是Get
Get方式是成功的。 可是Post方式传参数时,报错。 ===========================================
官方开发的函数
 /// <summary>
    /// Performs a basic HTTP POST request
    /// </summary>
    /// <param name="url">The URL of the request.</param>
    /// <param name="post">POST Data to be passed.</param>
    /// <param name="refer">Referrer of the request</param>
    /// <returns>HTML Content of the response.</returns>
    public string HttpPost(string url, string post, string refer = "")
    {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
        request.CookieContainer = cJar;
        request.UserAgent = UserAgent;
        request.KeepAlive = false;
        request.Method = "POST";
        request.Referer = refer;        byte[] postBytes = Encoding.ASCII.GetBytes(post);
        request.ContentType = "application/x-www-form-urlencoded";
        request.ContentLength = postBytes.Length;        Stream requestStream = request.GetRequestStream();
        requestStream.Write(postBytes, 0, postBytes.Length);
        requestStream.Close();        HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
         //远程服务器返回错误: (401) 未经授权。        StreamReader sr = new StreamReader(response.GetResponseStream());        return sr.ReadToEnd();
    }
=============================调用时
说明文档调用如下格式,Post方式
//https://apis.live.net/v5.0/me/events?access_token====我的代码
string url = "https://apis.live.net/v5.0/me/events";
string param = string.Format("access_token={0}", Request.Cookies["MeetingRooms"]["accessToken"]);
string result = HttpPost(url,param);