Как обрабатывать HTTP Connect в .NET? - PullRequest
0 голосов
/ 15 сентября 2011

Я бы хотел обработать HTTP на очень низком уровне - в данный момент я застрял с глаголом HTTP CONNECT.Похоже, HttpListener не имеет доступа к этим запросам, потому что они обрабатываются где-то внутри HTTP API или HTTP.SYS.Я могу обрабатывать такие запросы с собственным TcpListener, но в таком случае я потеряю все функции HTTP = я бы реализовал HTTP с нуля.

Я также проверял FiddlerCore, но он также обрабатывает эти запросы на некоторых WinУровень API.Есть ли какой-либо чистый HTTP-стек .NET?

Редактировать: я работаю над HTTP-прокси с некоторым дополнительным анализом запросов и статистикой, поэтому я не хочу терять HTTP-разбор и в то же время хочу узнатьо SSL-соединениях.

Ответы [ 3 ]

1 голос
/ 15 сентября 2011

Что ж, если вы создаете свой собственный HTTP / HTTPS-сервер или прокси-сервер и не обращаете внимания на сторонние компоненты, тогда наш SecureBlackbox включает в себя компоненты HTTP / HTTPS-сервера, которые позволяют вам делать практически все с любым глаголом. Чистый .NET, используйте любые классы сокетов.

1 голос
/ 15 сентября 2011

Используйте Tcp * и Socket *, а не Http * связанные классы, чтобы использовать действительно низкий уровень в .NET.

TCP находится внизу стека протоколов HTTP.

Используйте TCP-сокеты, если хотите, просто используйте вызовы взаимодействия "winsock2.dll" из c # и все связанные с ними вещи, такие как определения структуры и т. Д., Или используйте собственный C ++

0 голосов
/ 15 сентября 2011

Хорошо. Опять проблема не в API, а в разработчику:)

У меня есть некоторый набор тестов для тестирования моей реализации, но набор тестов подключался напрямую (не как к прокси) - это была первая проблема. Вторая проблема заключалась в том, что этот набор тестов должен использовать TcpClient вместо HttpWebRequest, если я хочу тестировать глагол Connect отдельно, потому что HttpWebRequest использует его только для внутреннего использования при использовании прокси для HTTPS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...