簡體   English   中英

如何在 C# 中發送原始 HTTP 請求?

[英]How can I send a raw HTTP request in C#?

我正在編寫一個 .NET 5 應用程序,它通過 TLS 連接向某個端點發送請求。

我嘗試使用 HTTPClient,但它不起作用,因為我需要在調用 Send 方法之前構造一個 HTTPRequestMessage。

HttpClient client = new HttpClient();
var response = await client.SendAsync(requestMessage);

var responseContent = await response.Content.ReadAsStringAsync();

我需要發送上面預序列化請求的字節而不將其轉換為 HTTP object。

POST /app/test HTTP/1.1
Content-type: application/json
Content-Length: 23

{"msg": "test message"}

我需要發送上面預序列化請求的字節而不將其轉換為 HTTP object。

這是非常不尋常的。 HttpClient不能用於此,除非您知道HttpRequestMessage的解析器。 可能有一個圖書館可以做到這一點,但我不知道有哪一個。

要發送字節數組,您必須使用較低級別的連接,如SocketTcpClient 而且您需要進行自己的 TLS 協商 - SslStream可能會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM