Когда я звоню через Почтальона, я получаю приятное сообщение, говорящее «сбой при создании пользователя и 400 неверных запросов».
(Снимок экрана прилагается).
Когда я запускаю свой код на c #, он напрямую переходит к исключению, но сообщение об исключении не то, которое я вижу в Почтальоне. Вот мой код C #.
try
{
var wc = new WebClient();
wc.Headers.Add("Content-Type", "application/json");
wc.BaseAddress = ServiceUrl;
wc.Encoding = Encoding.UTF8;
byte[] ret = wc.UploadData($"{ServiceUrl}/api/CreateUser",
"POST", System.Text.Encoding.UTF8.GetBytes(userjson));
var resp = System.Text.Encoding.UTF8.GetString(ret);
Console.WriteLine(resp);
}
catch (WebException e)
{
Console.WriteLine("This program is expected to throw WebException on successful run."+
"\n\nException Message :" + e.Message);
if(e.Status == WebExceptionStatus.ProtocolError)
{
Console.WriteLine("Status Code : {0}", ((HttpWebResponse)e.Response).StatusCode);
Console.WriteLine("Status Description : {0}", ((HttpWebResponse)e.Response).StatusDescription);
Console.WriteLine("Status Method : {0}", ((HttpWebResponse)e.Response).Method);
}
}
Сообщение об ошибке, которое я получаю из своего кода:
Exception Message :The remote server returned an error: (400) Bad Request.
Я хотел бы получить такое же сообщение в своем коде C #.
Я уже исследовал HttpClient в System.Net.Http , и это работает, но это потребовало бы изменения большого количества кода в этом приложении. Я немного не хочу этого делать.