摘要
RestSharp 是一個用于在 C# 中發送 HTTP 請求的開源庫。它簡化了與 RESTful API 進行交互的過程,使開發人員可以輕松地發送 GET、POST、PUT、DELETE 等 HTTP 請求,并處理響應數據。RestSharp 提供了一種簡潔的方式來構建和發送 HTTP 請求,使得與服務器進行數據交換變得更加容易。
正文
主要應用場景包括:
好處
常用方法
Execute: 執行一個請求并返回響應數據。
ExecuteAsync: 異步地執行一個請求并返回響應數據。
AddParameter: 添加請求參數,如查詢字符串、請求體等。
AddHeader: 添加請求頭。
AddJsonBody: 添加 JSON 格式的請求體。
AddFile: 添加文件作為請求的一部分。
AddCookie: 添加 Cookie。
AddUrlSegment: 替換 URL 中的占位符。
常用屬性
BaseUrl: 設置請求的基礎 URL。
Timeout: 設置請求的超時時間。
Method: 設置請求的 HTTP 方法,如 GET、POST、PUT、DELETE 等。
RequestFormat: 設置請求的數據格式,如 XML、JSON 等。
Parameters: 獲取或設置請求的參數列表。
Headers: 獲取或設置請求的頭部信息。
StatusCode: 獲取響應的 HTTP 狀態碼。
Content: 獲取響應的原始內容。
幾個例子
nuget 安裝 RestSharp
Get請求
private void btnGet_Click(object sender, EventArgs e)
{
var client = new RestClient("https://localhost:7137/api/");
var request = new RestRequest("User/User?id=2", Method.Get);
var response = client.Execute<x_user>(request);
var content = response.Content;
MessageBox.Show(content, "GET Response");
}
Post請求
private void btnPost_Click(object sender, EventArgs e)
{
var client = new RestClient("https://localhost:7137/api/");
var request = new RestRequest("User/SaveDb", Method.Post);
request.AddJsonBody(new { id = 100, name = "John", age = 16, job = "IT" });
var response = client.Execute<x_user>(request);
var content = response.Content;
MessageBox.Show(content, "POST Response");
}
添加請求頭和處理響應
private void btnHeader_Click(object sender, EventArgs e)
{
var client = new RestClient("https://localhost:7137/api/");
var request = new RestRequest("User/SaveDb", Method.Post);
request.AddJsonBody(new { id = 100, name = "John", age = 16, job = "IT" });
//這個是添加Token請求,在現在應用極廣
request.AddHeader("Authorization", "Bearer YOUR_ACCESS_TOKEN");
var response = client.Execute<x_user>(request);
if (response.StatusCode == System.Net.HttpStatusCode.OK)
{
// 處理響應數據
var content = response.Content;
MessageBox.Show(content, "Response");
}
else
{
MessageBox.Show("Request failed with status: " + response.StatusCode, "Error");
}
}
上傳文件
private void btnUpload_Click(object sender, EventArgs e)
{
var client = new RestClient("https://localhost:7137/api");
var request = new RestRequest("User/UploadFile",Method.Post);
// 添加要上傳的文件
request.AddFile("file", @"d:\國學.jpg");
// 可選:如果有其他參數需要一同提交,可以使用 AddParameter 方法
// request.AddParameter("paramName", "paramValue");
var response = client.Execute<bool>(request);
if (response.StatusCode == System.Net.HttpStatusCode.OK)
{
Console.WriteLine("上傳文件成功");
}
else
{
Console.WriteLine("上傳出錯,錯誤代碼: " + response.StatusCode);
}
}
該文章在 2024/5/27 10:44:53 編輯過