POST запрос на авторизацию в C#

Может ли кто-нибудь дать пример работы с POST-авторизацией в C#? Задача такая. Есть API-сервер. На нем нужно авторизоваться через POST, а в ответ получить токен для дальнейшего взаимодействия с этим сервером. Загвоздка в том, что я нашел не мало примеров, но сервер все равно выдает ошибку авторизации. Владелец сервера прислал только такой пример:

curl -d '{"user": "<user>", "password": "<password>"}' 'https://server.com/authorize/token?expire_hours=2'

Мой код:

static string GetRequest(string url, bool isPOST)
    {
        Stream response = null;
        StreamReader reader = null;

        string result = null;
        
        try
        {
            var request = (HttpWebRequest)WebRequest.Create(url);
            request.Timeout = 60000;

            if (isPOST)
            {
                url += "?expire_hours=24";

                string data = $"user:{User}&password:{Password}";
                byte[] byteData = Encoding.UTF8.GetBytes(data);

                
                request.Method = "POST";
                request.ContentType = "application/x-www-form-urlencoded";
                request.ContentLength = byteData.Length;

                using (Stream dataStream = request.GetRequestStream())
                {
                    dataStream.Write(byteData, 0, byteData.Length);
                }
            }
            
            request.UserAgent = "Mozilla/4.0 (Compatible; Windows NT 5.1; MSIE 8.0) (compatible; MSIE 8.0; Windows NT 5.1;)";

            response = ((HttpWebResponse)request.GetResponse()).GetResponseStream();

            if (response == null) return null;

            reader = new StreamReader(response, Encoding.UTF8);

            result = reader.ReadToEnd();
        }
        catch (Exception ex)
        {
            
        }
        finally
        {
            reader?.Dispose();
            response?.Dispose();
        }

        return result;
    }

Ошибка.

The remote server returned an error: (401) Unauthorized.

Ответы (0 шт):