using System.Net; using System.IO; using System.Text.Json; // ... var request = (HttpWebRequest)WebRequest.Create("https://example.com/api/data"); request.Method = "POST"; request.ContentType = "application/json"; var data = new { Name = "John", Age = 30 }; var json = JsonSerializer.Serialize(data); var bytes = Encoding.UTF8.GetBytes(json); using (var stream = await request.GetRequestStreamAsync()) { await stream.WriteAsync(bytes, 0, bytes.Length); } var response = await request.GetResponseAsync(); var streamReader = new StreamReader(response.GetResponseStream()); var responseJson = await streamReader.ReadToEndAsync();
using System.Net; using System.IO; // ... var request = (HttpWebRequest)WebRequest.Create("https://example.com/api/upload"); request.Method = "POST"; request.ContentType = "multipart/form-data; boundary=boundary"; var filePath = "path/to/file.txt"; var fileName = Path.GetFileName(filePath); using (var stream = await request.GetRequestStreamAsync()) using (var writer = new StreamWriter(stream)) using (var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { writer.Write("--boundary\r\n"); writer.Write($"Content-Disposition: form-data; name=\"file\"; filename=\"{fileName}\"\r\n"); writer.Write("Content-Type: application/octet-stream\r\n\r\n"); await fileStream.CopyToAsync(stream); writer.Write("\r\n--boundary--\r\n"); } var response = await request.GetResponseAsync(); var streamReader = new StreamReader(response.GetResponseStream()); var responseText = await streamReader.ReadToEndAsync();Package library: The HttpWebRequest class is part of the System.Net namespace, which is included in the .NET Framework and .NET Core libraries.