c# 调用接口返回json

 

需要命名空间

using System.Net;

using System.Net.Security

using System.Security.Cryptography.X509Certificates;

using System.Web.Script.Serialization;

using Newtonsoft.Json;

//来对远程X.509证书的验证进行处理防止出现未能为SSL/TLS 安全通道建立信任关系错误

public static class Util
{
  public static void SetCertificatePolicy()
  {
   ServicePointManager.ServerCertificateValidationCallback
    += RemoteCertificateValidate;
  }

  private static bool RemoteCertificateValidate(
  object sender, X509Certificate cert,
  X509Chain chain, SslPolicyErrors error)
 {
  System.Console.WriteLine("Warning, trust any certificate");
  return true;
 }
}

public string Token()
{
  string parameters = "acount=123&&pwd=456";//接口账号密码

  string url = String.Concat("https://api.ceshi/login.json?", parameters);//获取Token的API地址

  Util.SetCertificatePolicy();//来对远程X.509证书的验证进行处理防止出现未能为SSL/TLS 安全通道建立信任关系

  HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);//创建request

  request.Method = "GET";//提交数据方式

  HttpWebResponse response = (HttpWebResponse)request.GetResponse();//发送目标请求

  string jsonString;//json字符串

  string token;//token

  using (Stream stream = response.GetResponseStream())
  {
    StreamReader reader = new StreamReader(stream, System.Text.Encoding.UTF8);
    jsonString = reader.ReadToEnd();//得到json字符串
    JavaScriptSerializer js = new JavaScriptSerializer();
    Test.info info = js.Deserialize<Test.info>(jsonString);// json格式实体 Deserialize<T>(String):将JSON字符串转化为类型T。      将json字符串进行序列化为Test.info
    token = info.data.community_token;//得到token
 }

return token;
}

posted @ 2019-09-17 17:27  長安  阅读(3558)  评论(1编辑  收藏  举报