0
私はasp.netコアを使用しています。私はGETメソッドを使用してhttpのwebrequestからの応答を得ることができます。 POSTを使用してHTTP Webrequest経由で応答を取得するには405エラーが発生しています(リモートサーバーが見つかりません) GETメソッドを使用したコードです。asp.netコアのPOSTメソッドを使用した非同期http Webリクエストの応答を取得する
public static void Main(string[] args)
{
var task = MakeAsyncRequest("http://localhost:8080/nifi-api/flow/status", "text/html");
Console.ReadLine();
}
public static Task<string> MakeAsyncRequest(string url, string contentType)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.ContentType = contentType;
request.Method = "GET";
request.Proxy = null;
Task<WebResponse> task = Task.Factory.FromAsync(
request.BeginGetResponse,
asyncResult => request.EndGetResponse(asyncResult),
(object)null);
return task.ContinueWith(t => ReadStreamFromResponse(t.Result));
}
private static string ReadStreamFromResponse(WebResponse response)
{
using (Stream responseStream = response.GetResponseStream())
using (StreamReader reader = new StreamReader(responseStream))
{
string results = reader.ReadToEnd();
if (!string.IsNullOrEmpty(results))
{
Data data = new Data();
data = JsonConvert.DeserializeObject<Data>(results);
}
return results;
}
}
asp.netコアで非同期POSTメソッドを使用して応答を取得する方法を教えてください。前もって感謝します。
リクエストを簡単にするためにHttpClientクラスを使用できます。 http://stackoverflow.com/q/37750451/2833802をご覧ください – Set