91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在c#中通過發送請求訪問外部接口

發布時間:2021-01-11 16:29:03 來源:億速云 閱讀:869 作者:Leah 欄目:開發技術

這篇文章給大家介紹怎么在c#中通過發送請求訪問外部接口,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

 string url = "https://cloud.soei.com.cn/smsapi/sms/verifycode";
   HttpClient httpClient = new HttpClient();
   httpClient.BaseAddress = new Uri(url);
   //表頭參數
   string token = "9c0025b4aae442bda5498971ec1ab219";
   httpClient.DefaultRequestHeaders.Add("token", token);
   httpClient.DefaultRequestHeaders.Accept.Clear();
   httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
   try
   {
    using (var request = new HttpRequestMessage())
    {
     var postBody = $"{{\"identity\":\"{identity}\",\"phoneNumber\":\"{phoneNumber}\",\"code\":\"[code]\"}}";
     request.Method = HttpMethod.Post;
     request.Content = new StringContent(postBody, Encoding.UTF8, "application/json");
     var response = await httpClient.SendAsync(request);
     //返回結果
     var retString = await response.Content.ReadAsStringAsync();
     JObject items = (JObject)JsonConvert.DeserializeObject(retString);
     //返回碼,成功為200
     string retCode = items["code"].ToString();
     返回消息
     string message = items["message"].ToString();
     string data = items["data"].ToString();
     JObject items_data = (JObject)JsonConvert.DeserializeObject(data);
     string isSuccess = items_data["isSuccess"].ToString();
     string data_message = items_data["message"].ToString();
     if (isSuccess == "False")
     {
      retCode = "300";
     }
     retMessage.retCode = retCode;
     retMessage.message = data_message;
    }
   }
   catch (Exception e)
   {
    retMessage.retCode = "300";
    retMessage.message = e.Message.ToString();
   }
 
   return retMessage;
  }
 public static async Task<string> PostData(string path,string serverPath,dynamic param) {
   try
   {
    HttpClient client = new HttpClient();
   
    client.DefaultRequestHeaders.Add("Referer", string.Format("http://{0}", serverPath));
    HttpResponseMessage response;
    using (HttpContent httpContent = new StringContent(param, Encoding.UTF8))
    { 
     
     httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
     //client.DefaultRequestHeaders.Add("x-token", "M3Q_mQEwmn9l4Ly7fM7DxaMSdlYSSup5lfKLztF_VP97Urf");
     response = await client.PostAsync(path, httpContent).ContinueWith(res =>
     {
 
      return res;
 
     }).Result;
    }
    if (response != null && response.IsSuccessStatusCode)
    {
     return await response.Content.ReadAsStringAsync();
 
    }
    else
    {
     return string.Empty;
    }
   }
   catch (Exception ex)
   {
 
    throw;
   }
   finally
   {
   }
  }

補充:C#后臺調用Http外網接口(GET, POST)

1.get方法調用接口獲取json文件內容

public void GetFunction()
  {   
   string serviceAddress = "http://222.111.999.444:8687/tttr/usercrd/12/b7e50cb45a?userid=9999";
   HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serviceAddress);
   request.Method = "GET";
   request.ContentType = "text/html;charset=UTF-8";
   HttpWebResponse response = (HttpWebResponse)request.GetResponse();
   Stream myResponseStream = response.GetResponseStream();
   StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);
   string retString = myStreamReader.ReadToEnd();
   myStreamReader.Close();
   myResponseStream.Close();
   Response.Write(retString);
  }

這個太復雜了 突然發現個簡單的:

using (var client = new WebClient()){
 client.Encoding = Encoding.UTF8;
 string serviceAddress = urlappend + "cloud/device/data/getErrorData?appId=" + appid + "&accessToken=" + accessToken + "&timestamp=" + time + "&deviceIds=" + deviceIds;
  var data = client.DownloadString(serviceAddress);
  var obj = JsonConvert.DeserializeObject<JObject>(data);
}
//obj就是返回數據的對象

2.post方法調用接口獲取json文件內容

public void PostFunction()
  {
   string serviceAddress = "http://222.111.999.444:8687/tttr/usercrd/uuu/12/dfd7e4";
   HttpWebRequest request = (HttpWebRequest)WebRequest.Create(serviceAddress);
   request.Method = "POST";
   request.ContentType = "application/json";
   string strContent = @"{ ""mmmm"": ""89e"",""nnnnnn"": ""0101943"",""kkkkkkk"": ""e8sodijf9""}";
   using (StreamWriter dataStream = new StreamWriter(request.GetRequestStream()))
   {
    dataStream.Write(strContent);
    dataStream.Close();
   }
   HttpWebResponse response = (HttpWebResponse)request.GetResponse();
   string encoding = response.ContentEncoding;
   if (encoding == null || encoding.Length < 1)
   {
    encoding = "UTF-8"; //默認編碼 
   }
   StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));
   string retString = reader.ReadToEnd();
   //解析josn
   JObject jo = JObject.Parse(retString);
   Response.Write(jo["message"]["mmmm"].ToString());   
  }

關于怎么在c#中通過發送請求訪問外部接口就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

盐池县| 邢台市| 庆阳市| 绥芬河市| 潍坊市| 尉氏县| 潜江市| 安庆市| 卢湾区| 姚安县| 十堰市| 崇信县| 灵璧县| 仙桃市| 遵化市| 龙泉市| 凤翔县| 轮台县| 锡林浩特市| 开封市| 固始县| 宜宾市| 棋牌| 乌海市| 兴城市| 黎川县| 莲花县| 铁岭市| 辉南县| 阿巴嘎旗| 锡林郭勒盟| 台州市| 丰镇市| 通道| 九龙坡区| 延安市| 台东县| 永城市| 象山县| 尚志市| 炉霍县|