Использование WinHTTP для передачи данных без заголовков - PullRequest
0 голосов
/ 28 апреля 2019

Я пытаюсь включить некоторые SSL / TLS в некоторые сокеты Windows.Я не могу найти хороших примеров, поэтому сейчас я смотрю на WinHTTP API.

Мне интересно, можно ли это использовать, как традиционные функции сокета send () и recv ()?Я нашел пример некоторого кода из Windows здесь:

https://github.com/Microsoft/Windows-classic-samples/blob/master/Samples/WinhttpWebsocket/cpp/WinhttpWebsocket.cpp

Я скомпилировал его и протестировал с помощью nc, и я получаю заголовки HTTP, напечатанные в командной строке.Мне не нужны никакие из этих заголовков, так как я хочу создать свой собственный протокол и отправить свои собственные данные.Можно ли не использовать эти заголовки и не использовать какие-либо ключевые слова GET / POST, а просто воспринимать это как обычные операции с сокетами?

Или я должен искать в другом месте?Я не хочу использовать OpenSSL или любые сторонние библиотеки.

1 Ответ

0 голосов
/ 28 апреля 2019

WinHTTP был разработан как легкая библиотека HTTP для замены WinINet в сервисных приложениях. Это в основном WinINet без поддержки FTP / Gopher и без пользовательских настроек.

Я сомневаюсь, что WinHTTP позволяет вам выполнять соединения, которые не основаны на протоколе HTTP, вам нужно перейти на более низкий уровень, например, SChannel . SChannel поддерживает SSL и TLS.

Windows SDK , используемый для примера SSPI .

...