POST запрос с получением ответа

288
16 июля 2021, 15:20

Нужно отправить POST запрос и получить ответ от сервера, сделал след образом:

var bytePost = Encoding.ASCII.GetBytes(post);
var client = new TcpClient {ReceiveTimeout = context.MaxSearchTimeOut.Seconds};
client.Connect(BaseAddress, 80);
var stream = client.GetStream();
stream.Write(bytePost, 0, bytePost.Length);
var responseData = new byte[4096];
var strWesponse = string.Empty;
var bytes = stream.Read(responseData, 0, responseData.Length);
strWesponse = Encoding.ASCII.GetString(responseData, 0, bytes);
stream.Close();
client.Close();

И столкнулся с проблемой, что бы это работало адрес должен быть следующего вида: BaseAddress = "blog.site.ru", а у меня он след вида: BaseAddress = "blog.site.ru/online/page.php".

Поиск решения проблемы подсказал что необходимо использовать WebClient вместо TcpClient.

Пытался сделать следующим образом, но webResponse всегда пуст.

var bytePost = Encoding.ASCII.GetBytes(post);
using (var webClient = new WebClient())
{
    var webResponse = webClient.UploadData(BaseAddress, "POST", bytePost);
    var strWebResponse = Encoding.ASCII.GetString(webResponse);
}

Что я делаю не так и как мне исправить данную проблему?

UPD.

Пытаюсь сделать через HttpClient, но ответ всегда пуст.

var bytePost = Encoding.ASCII.GetBytes(post);
using (var httpClient = new HttpClient {Timeout = context.MaxSearchTimeOut})
{
    var httpResponse = await httpClient.PostAsync(BaseAddress, new ByteArrayContent(bytePost));
    httpResponse.EnsureSuccessStatusCode();
    var httpByteContent = await httpResponse.Content.ReadAsByteArrayAsync();
}
READ ALSO
Activator.CreateInstance MissingMethodException

Activator.CreateInstance MissingMethodException

Столкнулся с весьма непонятной ситуациейАктиватор не видит подходящих конструкторов, хотя они есть в классе, и они отображаются при логировании

201
Считать данные из *.xls в *.xml с помощью C#

Считать данные из *.xls в *.xml с помощью C#

Всем доброго времени суток! Нужна помощь, сам не успеваю, да и знаний нетНет, мне не нужен код и полностью написанная программа - хотелось бы узнать,...

224
Как правильно считывать бинарный файл

Как правильно считывать бинарный файл

У меня есть коллекция Book, в которой содержаться список книгЯ создаю бинарный файл и записываю в него эти данные

202