2

无论如何,HttpWebRequest.GetRequestStream当方法是时,有没有防止抛出异常GET?我知道这一点HEAD并且GET不应该在有效的 HTTP 中包含正文,但是有些服务器无论如何都接受这些方法的正文(例如,Elasticsearch 的_search功能)。我有一个用于进行 REST 调用的开源项目,我想知道是否可以规避这种行为以避免意外。

在某个时候,我可能会使用新System.Net.Http.HttpClient类创建我的库的一个版本。这个类有同样的限制吗?

4

1 回答 1

0

.Net 核心 2.0:

System.Net.Http.HttpClientSendAsync(版本=4.2.0.0)如果使用该方法则没有此限制。

var request = new HttpRequestMessage(HttpMethod.Get, "http://example.com/api/_search");
request.Content = new StringContent(jsonSearchCriteria, Encoding.UTF8, "application/json");
var response = await httpClient.SendAsync(request,
    HttpCompletionOption.ResponseContentRead);
var jsonResponse = await response.Content.ReadAsStringAsync();
于 2017-11-04T19:52:02.470 回答