HttpClient封裝方法
阿新 • • 發佈:2018-07-25
string byte llb lse method sin ddr () sync
//post請求 public static string PostRequest(string url, HttpContent data) { var handler = new HttpClientHandler() { UseCookies = false }; HttpClient client = new HttpClient(handler); var message = new HttpRequestMessage(HttpMethod.Post, url); message.Content= data; //message.Headers.Authorization = new AuthenticationHeaderValue("Bearer", GetRemoteToken()); var response = client.SendAsync(message).Result; response.EnsureSuccessStatusCode(); var result = response.Content.ReadAsStringAsync().Result;return result; } //發送文件 public static void SendFile(string url,string path = @"C:\<filepath>\test.txt") { using (var client = new HttpClient()) using (var content = new MultipartFormDataContent()) { client.BaseAddress= new Uri("http://localhost"); var fileContent1 = new ByteArrayContent(File.ReadAllBytes(path)); fileContent1.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = Path.GetFileName(path) }; content.Add(fileContent1); var result = client.PostAsync(url, content).Result; } }
//httpcontent類型 //json HttpContent content1 = new StringContent("{a:1,b:2}", Encoding.UTF8, "application/json"); //from HttpContent content2 = new FormUrlEncodedContent(new Dictionary<string, string>() { {"email", "1"}, {"pwd","11"} });
HttpClient封裝方法