.net 中后台訪問第三方接口的方式


訪問接口的方式無非GET,POST,PUT,DELETE等幾種,下面就簡單針對GET和POST記錄一下在.net core中的實現方式,廢話不多說,直接上代碼:

 

GET方式訪問

/// <summary>
        /// 調用API並返回結果字符串(http方式)
        /// </summary>
        /// <param name="url">訪問接口全路徑,包含參數</param>
        /// <returns>返回JSON字符串</returns>
        public static async Task<string> GetRequest(string url)
        {
            try
            {
                using (var httpClientHandler = new HttpClientHandler())
                {
            //需要設置SSL訪問方式才需要寫下面一行代碼,如無要求,可以不寫
                    httpClientHandler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return true; };

                    //HTTPClient
                    using (var client = new HttpClient(httpClientHandler))
                    {
                        //client.BaseAddress = new Uri(url);
                        //設置請求體中的內容,並以GET的方式請求
                        var response = await client.GetAsync(url);
                        //獲取請求到數據,並轉化為字符串
                        var result = response.Content.ReadAsStringAsync().Result;
                        return result;
                    }


                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }

  

POST方式如下

 /// <summary>
        /// 調用API並返回結果字符串(http方式)
        /// </summary>
        /// <param name="strAddr">服務器地址</param>
        /// <param name="param">參數字符串</param>
        /// <param name="token">Token</param>
        /// <returns>返回JSON字符串</returns>
        public static async Task<string> PostRequestAsync(string url, object param, string token = "")
        {
            try
            {
                using (var httpClientHandler = new HttpClientHandler())
                {
                    //需要設置SSL訪問方式才需要寫下面一行代碼,如無要求,可以不寫
                    httpClientHandler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return true; };

                    //HTTPClient
                    using (var client = new HttpClient(httpClientHandler))
                    {
                        string jsonContent = JsonConvert.SerializeObject(param);
                        var content = new StringContent(jsonContent, Encoding.UTF8, "application/json");
                        client.DefaultRequestHeaders.Add("Method", "Post");
                        //client.BaseAddress = new Uri(url);
                        //設置請求體中的內容,並以post的方式請求
                        var response = await client.PostAsync(url, content);
                        response.EnsureSuccessStatusCode();
                        //獲取請求到數據,並轉化為字符串
                        var result = response.Content.ReadAsStringAsync().Result;
                        return result;
                    }


                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM