当方法为HttpWebRequest.GetRequestStream
时,是否仍然阻止GET
抛出异常?我知道HEAD
和GET
不应包含有效HTTP中的正文,但有些服务器无论如何都会接受这些方法的正文(例如,Elasticsearch的{{1}}功能)。我有一个用于执行REST调用的开源项目,我想知道是否可以规避这种行为以避免意外。
在某些时候,我可能会使用新的_search
类创建我的库的一个版本。这个班级有相同的限制吗?
答案 0 :(得分:0)
.Net Core 2.0:
如果您使用System.Net.Http.HttpClient
方法, SendAsync
(版本= 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();