在.NET中使用Flurl库可以非常高效地处理Http请求,以下是使用Flurl的一些基本用法:
var client = new FlurlClient();
- var result = await client.Request("http://localhost:5271/Home/Test1").GetAsync();
- int statusCode = result.StatusCode;
- Console.WriteLine("请求返回结果状态码:"+statusCode);
-
-
- var responseMessage = result.ResponseMessage;
- if (responseMessage.IsSuccessStatusCode)
- {
- var content = await responseMessage.Content.ReadAsStringAsync();
- Console.WriteLine(content);
- }
- else
- {
- Console.WriteLine("请求失败:" + result.StatusCode);
- }
- static async Task Method2()
- {
- var url = "http://localhost:5271/Home/Test2".SetQueryParams(new { x = 8});
- var result = await client.Request(url).GetAsync();
- int statusCode = result.StatusCode;
- Console.WriteLine("请求返回结果状态码:" + statusCode);
- var responseMessage = result.ResponseMessage;
- if (responseMessage.IsSuccessStatusCode)
- {
- var content = await responseMessage.Content.ReadAsStringAsync();
- Console.WriteLine(content);
- }
- else
- {
- Console.WriteLine("请求失败:" + result.StatusCode);
- }
- }
- static async Task Method3()
- {
- var result = await client.Request("http://localhost:5271/Home/Test3")
- .WithHeader("Name", "Token0000")
- .GetAsync();
- int statusCode = result.StatusCode;
- Console.WriteLine("请求返回结果状态码:" + statusCode);
- var responseMessage = result.ResponseMessage;
- if (responseMessage.IsSuccessStatusCode)
- {
- var content = await responseMessage.Content.ReadAsStringAsync();
- Console.WriteLine(content);
- }
- else
- {
- Console.WriteLine("请求失败:" + result.StatusCode);
- }
- }
- var content = new { name = "John", age = 30 };
- var result = await client.Request("http://api.example.com")
- .PostJsonAsync(content);
- var response = await client.Request("http://api.example.com")
- .GetJsonAsync();
- public class HomeController : Controller
- {
- public IActionResult Index()
- {
- return View();
- }
-
-
- public string Test1()
- {
- return "你好啊000000000";
- }
-
- public int Test2(int x)
- {
- return x*x;
- }
-
- public string Test3()
- {
- var stringValues = Request.Headers["Name"].ToString();
- if (stringValues == "Token0000")
- {
- return "服务端获取的Token值:"+stringValues;
- }
- return null;
-
- }
-
- }
使用Flurl库可以大大简化在.NET中处理Http请求的代码,提高开发效率。Flurl库还提供了许多其他功能,如上传文件、下载文件、设置超时时间等,可以根据实际需求选择使用。