使用WinHTTP传输不带标题的数据

时间:2019-04-28 15:38:37

标签: c windows sockets ssl winhttp

我正在尝试将某些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 :(得分:0)

WinHTTP被开发为轻量级的HTTP库,以取代服务应用程序中的WinINet。它基本上是WinINet,没有FTP / Gopher支持,也没有用户首选项。

我怀疑WinHTTP允许您执行不基于HTTP协议的连接,例如,您需要转到诸如SChannel之类的较低层。 SChannel支持SSL和TLS。

Windows SDK used to have a SSPI example