-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathHttpRead.cs
More file actions
37 lines (31 loc) · 1.26 KB
/
HttpRead.cs
File metadata and controls
37 lines (31 loc) · 1.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using System.Text;
namespace ASP_RESTful_Web_API
{
public class HttpRead
{
private static readonly HttpClient _httpClient = new();
public static async Task<byte[]> DownloadFileAsyncByte(string uri)
{
byte[] fileBytes = await _httpClient.GetByteArrayAsync(uri);
return fileBytes;
}
public static async Task<string> DownloadFileAsyncString(string uri)
{
string file = await _httpClient.GetStringAsync(uri);
return file;
}
public static async Task<string> DownloadFileAsyncString(string uri, string enc)
{
byte[] fileBytes = await _httpClient.GetByteArrayAsync(uri);
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
Encoding encoding = Encoding.GetEncoding(enc);
return encoding.GetString(fileBytes, 0, fileBytes.Length);
}
public static async Task<string> SetPOSTAsync(string uri, string request, Encoding enc, string content = "application/json")
{
// пример enc = Encoding.UTF8
var response = await _httpClient.PostAsync(uri, new StringContent(request, enc, content));
return response.ToString();
}
}
}