我正在编写一个 .NET 5 应用程序,它通过 TLS 连接向某个端点发送请求。
我尝试使用 HTTPClient,但它没有用,因为我需要在调用 Send 方法之前构造一个 HTTPRequestMessage。
HttpClient client = new HttpClient();
var response = await client.SendAsync(requestMessage);
var responseContent = await response.Content.ReadAsStringAsync();
我需要发送上面预序列化请求的字节而不将其转换为 HTTP 对象。
POST /app/test HTTP/1.1
Content-type: application/json
Content-Length: 23
{"msg": "test message"}
答案 0 :(得分:2)
我需要发送上面预序列化请求的字节而不将其转换为 HTTP 对象。
这非常不寻常。 HttpClient
不能用于此目的,除非您知道 HttpRequestMessage
的解析器。可能有一个图书馆可以做到这一点,但我不知道有一个。
要发送字节数组,您必须使用较低级别的连接,例如 Socket
或 TcpClient
。您需要自己进行 TLS 协商 - SslStream
可能会有所帮助。