• 模拟http请求返回json数据的接口并解析


    工作中用到,记录方便以后:

    思路:http请求restful接口,返回json字符串,然后将字符串解析为对象。

    1,先看看浏览器中请求返回的结果。

    2,

    3,GetWebContent 方法代码:

            /// <summary>
            /// 用Get方式获取HTML页面内容
            /// </summary>
            /// <param name="url"></param>
            /// <param name="encode"></param>
            /// <returns></returns>
            public static string GetWebContent(string url, string encode)
            {
                string strResult = "";
                try
                {
                    var request = (HttpWebRequest)WebRequest.Create(url);
                    //声明一个HttpWebRequest请求   
                    request.Timeout = 30000;
                    //设置连接超时时间   
                    request.Headers.Set("Pragma", "no-cache");
                    var response = (HttpWebResponse)request.GetResponse();
                    Stream streamReceive = response.GetResponseStream();
                    Encoding encoding = Encoding.GetEncoding(string.IsNullOrEmpty(encode) ? "gb2312" : encode);
                    if (streamReceive != null)
                    {
                        var streamReader = new StreamReader(streamReceive, encoding);
                        strResult = streamReader.ReadToEnd();
                    }
                }
                catch (Exception ex)
                {
    
                }
                return strResult;
            }
    View Code

    4,或者这样

            public static string GetApiJsonByUrl(string url)
            {
                try
                {
                    Uri u = new Uri(url);
                    HttpWebRequest mRequest = (HttpWebRequest)WebRequest.Create(u);
                    mRequest.Method = "GET";
                    mRequest.ContentType = "application/x-www-form-urlencoded";
                    HttpWebResponse wr = (HttpWebResponse)mRequest.GetResponse();
    
                    Stream sIn = wr.GetResponseStream();
    
                    StreamReader sr = new StreamReader(sIn);
                    string content = sr.ReadToEnd();
    
                    sr.Close();
                    sIn.Close();
                    wr.Close();
                    return content;
                }
                catch { return "{"msg":"ERROR"}"; }
            }
    View Code

    5,

    注意:1,返回的数据跟model的结构要一致

            2,假如返回的json有10个字段,而你只需要其中5个字段,则model可以只定义5个字段。

  • 相关阅读:
    指针
    const
    指针数组和指向数组的指针
    extjs初探之由浅入深目录
    ie6字体设置13px引发的问题
    在IAR下通过Jlink将程序直接下载到Flash指定地址
    提高C语言程序运行稳定性的方法
    C/C++编程习惯
    释放QQ占用的C盘空间
    非阻塞算法思想在关系数据库应用程序开发中的使用
  • 原文地址:https://www.cnblogs.com/visibleisfalse/p/6004046.html
Copyright © 2020-2023  润新知