我已经在C#中看到了这个问题的各种答案,但我很困惑为什么同样的解决方案似乎在F#中不起作用。
let client = new HttpClient();
let msg = new HttpRequestMessage(HttpMethod.Post, "http://localhost:9999/")
msg.Version <- System.Net.HttpVersion.Version10
let body = System.Text.Encoding.ASCII.GetBytes("HTTP MESSAGE")
msg.Content <- new ByteArrayContent(body)
let task = Async.AwaitTask (client.SendAsync(msg))
起初我认为这个问题与HTTP 1.1 expect-100行为有关,而服务器端并不支持它。但在更改为HTTP 1.0之后,这就是客户端实际发送的内容:
POST / HTTP/1.0
Host: localhost:9999
Content-Length: 12
就是这样。它仍然没有发送HttpRequestMessage.Content。我在这里缺少什么?