C#使用RestSharp實(shí)現(xiàn)封裝常用的http請(qǐng)求方法
Nuget安裝RestSharp版本,不同版本之間的區(qū)別有很大,當(dāng)前這個(gè)寫法基于以下版本
示例代碼
public class APIHelper { private readonly string baseUrl = ConfigurationManager.AppSettings["connectionString"].ToString(); /// <summary> /// http請(qǐng)求接口 /// </summary> /// <param name="url">地址</param> /// <param name="data">數(shù)據(jù),json格式化后的數(shù)據(jù)</param> /// <param name="method">方法 POST,或者get</param> /// <returns></returns> public string HttpRequest(string url, string data, Method method, string file = null) { try { var client = new RestClient(baseUrl + url); var request = new RestRequest(method); request.RequestFormat = DataFormat.Json; if (file == null) request.AddHeader("Content-Type", "application/json"); else { request.AddHeader("Content-Type", "multipart/form-data"); request.AddHeader("user_id", UserCache.Current_UserId.ToString()); request.AddHeader("username", System.Web.HttpUtility.UrlEncode(UserCache.Current_UserName)); } request.Timeout = 10000; if (data != null) request.AddParameter("application/json; charset=utf-8", data, ParameterType.RequestBody); if (UserCache.CACHE_UserInfoModel != null) request.AddHeader("authorization", "Bearer " + UserCache.CACHE_UserInfoModel.access_token); if (file != null) request.AddFile("file", file); IRestResponse response = client.Execute(request); var responseContent = response.Content; return responseContent; } catch (Exception ex) { return null; } } }
接口調(diào)用
到此這篇關(guān)于C#使用RestSharp實(shí)現(xiàn)封裝常用的http請(qǐng)求方法的文章就介紹到這了,更多相關(guān)C# RestSharp封裝http請(qǐng)求內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#實(shí)現(xiàn)Markdown內(nèi)容轉(zhuǎn)為Word或PDF
Markdown作為一種輕量級(jí)的標(biāo)記語言,因其簡(jiǎn)潔易讀、語法清晰的特點(diǎn)被廣大程序員和技術(shù)文檔編寫者所青睞,本文主要介紹了如何使用C#實(shí)現(xiàn)Markdown內(nèi)容轉(zhuǎn)為Word或PDF,需要的可以參考下2024-03-03詳解C#的設(shè)計(jì)模式編程之抽象工廠模式的應(yīng)用
這篇文章主要介紹了C#的設(shè)計(jì)模式編程之抽象工廠模式的應(yīng)用,注意區(qū)分一下簡(jiǎn)單工廠模式、工廠方法模式和抽象工廠模式概念之間的區(qū)別,需要的朋友可以參考下2016-02-02親自教你實(shí)現(xiàn)棧及C#中Stack源碼分析
大家都知道棧的實(shí)現(xiàn)方式有兩種,一種是基于數(shù)組實(shí)現(xiàn)的順序棧,另一種是基于鏈表實(shí)現(xiàn)的鏈?zhǔn)綏?。這篇文章主要介紹了手把手教你實(shí)現(xiàn)棧以及C#中Stack源碼分析,需要的朋友可以參考下2021-09-09C#利用LINQ實(shí)現(xiàn)一個(gè)文件拆分成多個(gè)文件的示例詳解
在日常開發(fā)過程中,我們可能會(huì)遇到需要將一個(gè)大型文件拆分成多個(gè)小文件的需求,例如,為了便于傳輸、處理或備份,在C#中,我們可以利用LINQ技術(shù)來實(shí)現(xiàn)這一功能,下面我將詳細(xì)介紹如何使用LINQ拆分文件,需要的朋友可以參考下2024-08-08