• c# 通过URl 获取返回的json格式数据


    方法一

    http://blog.csdn.net/angle_greensky110/article/details/52209497

        protected string GetJson(string url)
            {
                //访问https需加上这句话  
               // ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);
                //访问http(不需要加上面那句话)  
                WebClient wc = new WebClient();
                wc.Credentials = CredentialCache.DefaultCredentials;
                wc.Encoding = Encoding.UTF8;
                string returnText = wc.DownloadString(url);
    
                if (returnText.Contains("errcode"))
                {
                    //可能发生错误  
                }
                //Response.Write(returnText);  
                return returnText;
            }  
    

      方法二 (webservice)

      /// <summary>
            /// 通过Post方式获取数据
            /// </summary>
            /// <param name="url"></param>
            /// <param name="data">可为空</param>
            /// <returns></returns> 
     public string DoPost(string url, string data)
            {
                HttpWebRequest req = GetWebRequest(url, "POST");
                byte[] postData = Encoding.UTF8.GetBytes(data);
                Stream reqStream = req.GetRequestStream();
                reqStream.Write(postData, 0, postData.Length);
                reqStream.Close();
                HttpWebResponse rsp = (HttpWebResponse)req.GetResponse();
                Encoding encoding = Encoding.GetEncoding(rsp.CharacterSet);
                return GetResponseAsString(rsp, encoding);
            }
    
            public HttpWebRequest GetWebRequest(string url, string method)
            {
                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
                req.ServicePoint.Expect100Continue = false;
                req.ContentType = "application/x-www-form-urlencoded;charset=utf-8";
                req.ContentType = "text/json";
                req.Method = method;
                req.KeepAlive = true;
                req.UserAgent = "guanyisoft";
                req.Timeout = 1000000;
                req.Proxy = null;
                return req;
            }
    
            public string GetResponseAsString(HttpWebResponse rsp, Encoding encoding)
            {
                StringBuilder result = new StringBuilder();
                Stream stream = null;
                StreamReader reader = null;
                try
                {
                    // 以字符流的方式读取HTTP响应
                    stream = rsp.GetResponseStream();
                    reader = new StreamReader(stream, encoding);
                    // 每次读取不大于256个字符,并写入字符串
                    char[] buffer = new char[256];
                    int readBytes = 0;
                    while ((readBytes = reader.Read(buffer, 0, buffer.Length)) > 0)
                    {
                        result.Append(buffer, 0, readBytes);
                    }
                }
                finally
                {
                    // 释放资源
                    if (reader != null) reader.Close();
                    if (stream != null) stream.Close();
                    if (rsp != null) rsp.Close();
                }
    
                return result.ToString();
            }
    

      

  • 相关阅读:
    表单提交方式
    js--dom对象
    js--bom对象
    css布局的漂浮、position定位
    python语法学习第五天--lambda表达式、filter()、map()
    python语法学习第五天--函数(2)
    python3语法学习第五天--函数(1)
    python3语法学习第四天--序列
    leetcode| 84. 柱状图中最大的矩形
    leetcode| 56. 合并区间
  • 原文地址:https://www.cnblogs.com/kgdjgd/p/6845974.html
Copyright © 2020-2023  润新知