Как Создают класс HttpWebRequest.NET из полученного байта Сокета []

Не используйте ни один, и, пожалуйста, также не используйте дерьмо L "...". Используйте UTF-8 для всех строк и конвертируйте их непосредственно перед передачей в API-интерфейсы Microsoft.

7
задан Cœur 2 May 2017 в 17:09
поделиться

3 ответа

просто замените Socket, используя HttpListener . Он легко анализирует HTTP-запрос.

Вот пример:

HttpListener listener = new HttpListener(); 
// prefix URL at which the listener will listen
listener.Prefixes.Add("http://localhost:8080/");
listener.Start();
Console.WriteLine("Listening...");
while (true)
{
    // the GetContext method blocks while waiting for a request.
    HttpListenerContext context = listener.GetContext();
    HttpListenerRequest request = context.Request;

    // process the request
    // if you want to process request from multiple clients 
    // concurrently, use ThreadPool to run code following from here
    Console.WriteLine("Client IP " + request.UserHostAddress);

    // in request.InputStream you have the data client sent
    // use context.Response to respond to client
}
15
ответ дан 6 December 2019 в 07:28
поделиться

Рассматривали ли вы использование класса HttpListener вместо сокета для приема входящих HTTP-запросов? Вместо необработанных данных будет получено HttpListenerRequest объектов. Я нашел эти классы полезными для моделирования веб-сервера.

6
ответ дан 6 December 2019 в 07:28
поделиться

Вы не можете преобразовать его в HttpWebRequest или что-то подобное. Просто выбросьте сокет и используйте вместо него HttpWebRequest . В противном случае вам придется вручную проанализировать ответ byte [] .

3
ответ дан 6 December 2019 в 07:28
поделиться
Другие вопросы по тегам:

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