方法一

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

  1. protected string GetJson(string url)
  2. {
  3. //访问https需加上这句话
  4. // ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);
  5. //访问http(不需要加上面那句话)
  6. WebClient wc = new WebClient();
  7. wc.Credentials = CredentialCache.DefaultCredentials;
  8. wc.Encoding = Encoding.UTF8;
  9. string returnText = wc.DownloadString(url);
  10.  
  11. if (returnText.Contains("errcode"))
  12. {
  13. //可能发生错误
  14. }
  15. //Response.Write(returnText);
  16. return returnText;
  17. }

  方法二 (webservice)

  1. /// <summary>
  2. /// 通过Post方式获取数据
  3. /// </summary>
  4. /// <param name="url"></param>
  5. /// <param name="data">可为空</param>
  6. /// <returns></returns>
  7. public string DoPost(string url, string data)
  8. {
  9. HttpWebRequest req = GetWebRequest(url, "POST");
  10. byte[] postData = Encoding.UTF8.GetBytes(data);
  11. Stream reqStream = req.GetRequestStream();
  12. reqStream.Write(postData, 0, postData.Length);
  13. reqStream.Close();
  14. HttpWebResponse rsp = (HttpWebResponse)req.GetResponse();
  15. Encoding encoding = Encoding.GetEncoding(rsp.CharacterSet);
  16. return GetResponseAsString(rsp, encoding);
  17. }
  18.  
  19. public HttpWebRequest GetWebRequest(string url, string method)
  20. {
  21. HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
  22. req.ServicePoint.Expect100Continue = false;
  23. req.ContentType = "application/x-www-form-urlencoded;charset=utf-8";
  24. req.ContentType = "text/json";
  25. req.Method = method;
  26. req.KeepAlive = true;
  27. req.UserAgent = "guanyisoft";
  28. req.Timeout = 1000000;
  29. req.Proxy = null;
  30. return req;
  31. }
  32.  
  33. public string GetResponseAsString(HttpWebResponse rsp, Encoding encoding)
  34. {
  35. StringBuilder result = new StringBuilder();
  36. Stream stream = null;
  37. StreamReader reader = null;
  38. try
  39. {
  40. // 以字符流的方式读取HTTP响应
  41. stream = rsp.GetResponseStream();
  42. reader = new StreamReader(stream, encoding);
  43. // 每次读取不大于256个字符,并写入字符串
  44. char[] buffer = new char[256];
  45. int readBytes = 0;
  46. while ((readBytes = reader.Read(buffer, 0, buffer.Length)) > 0)
  47. {
  48. result.Append(buffer, 0, readBytes);
  49. }
  50. }
  51. finally
  52. {
  53. // 释放资源
  54. if (reader != null) reader.Close();
  55. if (stream != null) stream.Close();
  56. if (rsp != null) rsp.Close();
  57. }
  58.  
  59. return result.ToString();
  60. }

  

c# 通过URl 获取返回的json格式数据的更多相关文章

  1. javascript解析从服务器返回的json格式数据

    在javascript中我们可以将服务器返回的json格式数据转换成json格式进行使用,如下: 1.服务器返回的json格式数据: 通过response.responseText获得: " ...

  2. Go net/http获取body中json格式数据

    Go net/http获取body中json格式数据 package main import ( "encoding/json" "fmt" "io/ ...

  3. MVC4中视图获取控制器中返回的json格式数据

    再开发MVC项目时,有时只需要从控制器中返回一个处理的结果,这时返回Json格式的数据非常的方便,在Controller中,提供了几种返回类型和方法,如: Content() 返回文本类型的Conte ...

  4. 在thinkphp5.0中调用ajax时, 返回的JSON 格式数据在html前台不能用时

    在thinkphp5.0中调用ajax时,如果控制器返回的数据为json格式,视图层接收到返回值即为json格式的数据,此时应该把 JSON 文本转换为 JavaScript 对象,方便调用.具体代码 ...

  5. 解决在 使用 AjaxFileUploder 插件时,不能获取返回的 json 结果数据

    在MVC  项目 中使用 AjaxFileUploader 这个插件时,在上传图片或文件时,在控制器中返回的是 json数据,可是在 ie,或 googleChrome 浏览器中却出现 返回的json ...

  6. dataTables获取当前行json格式数据

    装载表格数据 $(document).ready( function () { //页面加载后装载表格数据 var table = $('#mytable').DataTable( { "s ...

  7. 将PHP程序中返回的JSON格式数据用gzip压缩输出

    //phpinfo(); 搜索下 zlib 是否开启 //此示例开启压缩 Content-Length:124 Size: 404B //未开启gzip压缩 Content-Length:675 Si ...

  8. ajax请求后台,返回json格式数据,模板!

    添加一个用户的时候,需要找出公司下所有的部门,和相应部门下的角色,利用ajax请求,实现联动技术.将返回的json格式数据,添加到select标签下. <script type="te ...

  9. 在C#中通过使用Newtonsoft.Json库来解析百度地图地理编码(GeoCoder)服务接口返回的Json格式的数据

    百度地图地理编码(GeoCoder)服务接口返回的Json格式的数据,如下所示: http://api.map.baidu.com/geocoding/v3/?address=**省**市**区**路 ...

随机推荐

  1. Linux中的configure,make,make install到底在做些什么

    在Linux下经常要安装部署一些软件包或者工具,拿到安装包之后一看,简单,configure,make, make install即可搞定. 有时候我就在想,这个configure,make ,mak ...

  2. excle删除重复项的行,自定义删除第几个

    在B1输入 =COUNTIF(A$1:A1,A1) 下拉,会有数字1.2.1.2 第二步,选中B列升序排序,排序后,将B列为1的整行删除即可. 再补充下,这样是以姓名为条件来筛选,不会影响你的数据.你 ...

  3. rxjava&retrofit请求直接返回string

    1.添加gradle依赖: compile com.squareup.retrofit2:converter-scalars:2.0.0' 2.更换转换器 mRetrofit = Retrofit.B ...

  4. 3、redis使用场景

    现代高并发复杂系统面临的挑战 现代系统随着功能的复杂化,各种各样需求层出不穷,面对愈加复杂话的业务系统.越来越庞大的用户群体,以及用户对体验的要求越来越高,性能就变得更加重要. 抛开代码逻辑.服务器性 ...

  5. Python绘图的颜色设置

    (转载):Python中的matplotlib函数中的颜色选取 转载链接:https://www.cnblogs.com/darkknightzh/p/6117528.html 原文内容:完全出自于自 ...

  6. 1-web.xml配置说明

    编写第一个Servlet程序  重要的在于如何去配置项目中的web.xml文件 <servlet-class>  设置servlet程序全限定路径 也就是在项目的中路径 <servl ...

  7. (转)SQLServer_十步优化SQL Server中的数据访问四

    原文地址:http://tech.it168.com/a2009/1125/814/000000814758_all.shtml 第八步:使用SQL事件探查器和性能监控工具有效地诊断性能问题 在SQL ...

  8. Sharding-jdbc视频:当Sharding-jdbc遇到Spring Boot

    一.什么是Sharding-jdbc? 在介绍Sharding-JDBC之前,我们需要先说明下Sharding-Sphere. Sharding-Sphere是一套开源的分布式数据库中间件解决方案组成 ...

  9. JDK源码中,都有哪些NB的设计模式?

    转载:https://mp.weixin.qq.com/s/h88UxB9F2MkTbHqck3KQiQ 一.结构性模式: 1.适配器模式: 常用于将一个新接口适配旧接口 肥朝小声逼逼:在我们业务代码 ...

  10. orcal - 分组

    执行顺序 from where group by having select order by 多表查询与分组查询的时候,查询结果相当于是一张临时表,所有的分组是在临时表操作 分组统计查询 COUNT ...