zoukankan      html  css  js  c++  java
  • .net 调用java rest ful api 实例

    注意post的参数组合

    HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
    request.Method = "POST";
    request.KeepAlive = true;
    request.AllowAutoRedirect = false;
    request.ContentType = "application/x-www-form-urlencoded";
    byte[] postdatabtyes = Encoding.UTF8.GetBytes("param={"imsi":"460023887603775","session":"hwJPCFmgNRtyOED91iTwpteCY"}");
    request.ContentLength = postdatabtyes.Length;
    Stream requeststream = request.GetRequestStream();
    requeststream.Write(postdatabtyes, 0, postdatabtyes.Length);
    requeststream.Close();
    string resp;
    try{
       using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
       {
          StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
          resp = sr.ReadToEnd();
        }
       }

    另外一种:

    2、以Post方式获取
    
      using System.Web;
    
      Uri address = new Uri("http://api.search.yahoo.com/ContentAnalysisService/V1/termExtraction");
    
      // Create the web request
      HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;
    
      // Set type to POST
      request.Method = "POST";
      request.ContentType = "application/x-www-form-urlencoded";
    
      // Create the data we want to send
      string appId = "YahooDemo";
      string context = "Italian sculptors and painters of the renaissance"
      + "favored the Virgin Mary for inspiration";
      string query = "madonna";
    
      StringBuilder data = new StringBuilder();
      data.Append("appid=" + HttpUtility.UrlEncode(appId));
      data.Append("&context=" + HttpUtility.UrlEncode(context));
      data.Append("&query=" + HttpUtility.UrlEncode(query));
    
      // Create a byte array of the data we want to send
      byte[] byteData = UTF8Encoding.UTF8.GetBytes(data.ToString());
    
      // Set the content length in the request headers
      request.ContentLength = byteData.Length;
    
      // Write data
      using (Stream postStream = request.GetRequestStream())
      {
      postStream.Write(byteData, 0, byteData.Length);
      }
    
      // Get response
      using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
      {
      // Get the response stream
      StreamReader reader = new StreamReader(response.GetResponseStream());
    
      // Console application output
      Console.WriteLine(reader.ReadToEnd());
      }
      三、HTTP 验证请求
    
      有些朋友在调用Restful Api时,可能要提供用户名和密码进行Http身份验证,这里我们可以通过为请求增加一个 NetworkCredentials 实例来完成.
    
      // Create the web request
      HttpWebRequest request
      = WebRequest.Create("https://api.del.icio.us/v1/posts/recent") as HttpWebRequest;
    
      // Add authentication to request
      request.Credentials = new NetworkCredential("username", "password");
    
      // Get response
      using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
      {
      // Get the response stream
      StreamReader reader = new StreamReader(response.GetResponseStream());
    
      // Console application output
      Console.WriteLine(reader.ReadToEnd());
      }
  • 相关阅读:
    2018.4.23 深入理解java虚拟机(转)
    2018.4.23 git常用操作命令收集(转)
    2018.4.23 设计模式的一些总结
    2018.4.23 pip使用
    2018.4.23 git命令总结
    2018.4.23 git删除已经add的文件
    2018.4.17 VFS
    记北京第一次跳槽
    RocketMQ存储机制01-存储文件组织与内存映射
    将博客搬至CSDN
  • 原文地址:https://www.cnblogs.com/lijianhua/p/5617250.html
Copyright © 2011-2022 走看看