asp.net json参数请求接口方法

废话不多说,直接上源码

 

调用代码:

 

//请求实体
var model = new Personnel()
{
Name = "赵思文",
Sex = "男"
};

//请求接口
var html = PostHtmlByJson("http://www.test.api.com", JsonConvert.SerializeObject(model));

 

 

请求方法

 /// 
        /// post请求方法
        /// 
        /// 请求地址
        /// json参数
        /// 
        public static string PostHtmlByJson(string url, string json)
        {
            var result = string.Empty;
            object obj;
            try
            {
                var request = WebRequest.Create(url) as HttpWebRequest;
                if (request != null)
                {
                    request.ContentType = "application/json";
                    request.Method = "post";

                    //request.CookieContainer = _cookie;
                    using (var streamWriter = new StreamWriter(request.GetRequestStream()))
                    {
                        streamWriter.Write(json);
                        streamWriter.Flush();
                        streamWriter.Close();
                    }
                    HttpWebResponse response;
                    try
                    {
                        response = (HttpWebResponse)request.GetResponse();

                    }
                    catch (WebException e)
                    {
                        response = e.Response as HttpWebResponse;
                    }
                    if (response != null)
                    {
                        using (var reader = new StreamReader(response.GetResponseStream()))
                        {
                            result = reader.ReadToEnd();
                        }
                    }
                }
                else result = JObject.FromObject(new { code = 0, msg = "无效的URL!" }).ToString();
            }
            catch (UriFormatException)
            {
                // 出错处理
                obj = new
                {
                    code = 0,
                    msg = "无效的URL请求地址!"
                };
                result = JObject.FromObject(obj).ToString();
            }
            catch (WebException ex)
            {
                // 出错处理
                obj = new
                {
                    code = 0,
                    msg = ex.Message
                };
                result = JObject.FromObject(obj).ToString();
            }

            return result;
        }

 

你可能感兴趣的:(asp.net,c#)