Search code examples
c#asp.net-corewebrequest

web request in asp.net core


I want to do a web request in a asp.net core project. I tried the following but it doesn't seem to send the data in the request:

using System.Net;

...

//encoder
UTF8Encoding enc = new UTF8Encoding();

//data
string data = "[\"some.data\"]";

//Create request
WebRequest request = WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/json";
request.Credentials = new NetworkCredential(user, secret);

//Set data in request
Stream dataStream = await request.GetRequestStreamAsync();
dataStream.Write(enc.GetBytes(data), 0, data.Length); 


//Get the response
WebResponse wr = await request.GetResponseAsync();
Stream receiveStream = wr.GetResponseStream();
StreamReader reader = new StreamReader(receiveStream, Encoding.UTF8);
string content = reader.ReadToEnd();

I don't get an error, the request was send but it doesn't seem to send the data with the request. I also can't give the length of the data with the request. Is this a core issue? (ps: The credentials are send correctly)

Can anyone help me?


Solution

  • Finally solved it. There was a bug in my external API code where I resolved the API request. The code in my question works (If someone wants to use it).

    PS: I edit the code with the remark of ycrumeyrolle