User-284642143 posted
HttpWebRequest hWR = (HttpWebRequest)WebRequest.Create(Url);
Uri uri = new Uri(Url);
hWR.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip, deflate, br");
hWR.Headers.Add(HttpRequestHeader.AcceptLanguage, "en-GB,en-US;q=0.9,en;q=0.8");
httpWebRequest.Headers.Add("Sec-Fetch-Site", "same-origin");
httpWebRequest.Headers.Add("Sec-Fetch-Mode", "cors");
hWR.Accept= "application/json";
hWR.ContentType = "application/json";
hWR.Method = "POST";
hWR.KeepAlive = true;
byte[] data = Encoding.UTF8.GetBytes(UsernamePassword); // I dont know if this is correct or not, Im just passing in the credentials in JSON format which contains no parameters as such
hWR.ContentLength = data.Length; // Again i dont know if this is correct or not
try
{
using (var stream = hWR.GetRequestStream())
{
using (GZipStream compressionStream = new GZipStream(stream, CompressionMode.Compress, true))
{
compressionStream.Write(data, 0, data.Length);
}
}
var response = (HttpWebResponse)hWR.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
}
catch (Exception ex)
{
}
}
I receive no error if i have the following within the Stream code
stream.Write(data, 0, data.Length);
stream.Flush();
stream.Close();
but the issue i come across is that the response is encoded, i can verify this by looking at the request in a web monitoring tool and decoding it, which shows the data.
So i added the GZipStream Using statement but i get a range of errors but the current one is "The base stream is not readable.\r\nParameter name: stream" or
"was expecting xx content length but received xx"
How could i decode the response?