c# HttpClient,WebClient常用请求
get
WebClient webClient = new WebClient(); ServicePointManager.SecurityProtocol = (SecurityProtocolType)192 | (SecurityProtocolType)768 | (SecurityProtocolType)3072; //ServicePointManager.Expect100Continue = true; //ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; webClient.Credentials = CredentialCache.DefaultCredentials; Byte[] pageData = webClient.DownloadData(url); webClient.Dispose(); string jsondata = System.Text.Encoding.UTF8.GetString(pageData); return (Newtonsoft.Json.Linq.JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(jsondata);
post +User-Agent +Authorization
public static string PostJson(string url,string json, string token) { using (var client = new HttpClient()) { //client.DefaultRequestHeaders.Add("Authorization", "Bearer "+token+""); //var data = new StringContent(json, Encoding.UTF8, "application/json"); //var response = client.PostAsync(url, data).GetAwaiter().GetResult(); //string result = response.Content.ReadAsStringAsync().Result; //return result; client.DefaultRequestHeaders.Add("User-Agent", "Apifox/1.0.0 (https://apifox.com)"); var request = new HttpRequestMessage(HttpMethod.Post, url) { Content = new StringContent(json, Encoding.UTF8, "application/json") }; request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token); var response = client.SendAsync(request).GetAwaiter().GetResult(); string result = response.Content.ReadAsStringAsync().Result; return result; } }
post + form-data
static async Task Main(string[] args) { using (var client = new HttpClient()) { var formData = new MultipartFormDataContent(); formData.Add(new StringContent("John Doe"), "name"); formData.Add(new StringContent("johndoe@example.com"), "email"); var response = await client.PostAsync("http://example.com/submit-form", formData); string responseBody = await response.Content.ReadAsStringAsync(); Console.WriteLine(responseBody); } }
我们使用formData.Add
方法来添加表单数据,其中第一个参数是表单项的内容,第二个参数是表单项的名称
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?