@martensit

C# (HttpWebRequest) Получить ответ на POST в виде byte[]?

string postData = "post string";
        byte[] data = Encoding.ASCII.GetBytes(postData);
        HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://122.233.155.155:80");
        req.Method = "POST";
        req.ContentLength = postData.Length;
        req.Timeout = 10000;
        using (Stream stream = req.GetRequestStream()) stream.Write(data, 0, data.Length);
        using (HttpWebResponse response = (HttpWebResponse)req.GetResponse())
        using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.ASCII))
        {
            string s = reader.ReadToEnd();
            Console.WriteLine(s);
        }

Так получаю ответ в виде string, а как получить в виде массива байтов byte[] ?
  • Вопрос задан
  • 1253 просмотра
Решения вопроса 1
@OwDafuq
using System.Net;

string postData = "post string";
byte[] data = Encoding.ASCII.GetBytes(postData);
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://122.233.155.155:80");
req.Method = "POST";
req.ContentLength = postData.Length;
req.Timeout = 10000;
using (Stream stream = req.GetRequestStream()) stream.Write(data, 0, data.Length);
using (HttpWebResponse response = (HttpWebResponse)req.GetResponse())
{
    var buffer = new byte[response.ContentLength];
    response.GetResponseStream().Read(buffer, 0, buffer.Length);
    Console.WriteLine(buffer.Length);
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
petermzg
@petermzg
Самый лучший программист
Так response.GetResponseStream() возвращает Stream, который вам и нужен.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы