环境: window10_x64 & vs2022
python版本: 3.9.13
日常开发中,会遇到c/c++作为客户端访问http/https服务的情况,今天整理下windows10环境下c/c++使用winhttp访问http/https服务的笔记,并提供相关资源下载。
我将从以下几个方面展开:
- http服务构建
- https证书生成及服务构建
- winhttp使用示例
- 资源下载
一、模拟http服务端
1、构建http服务
这里使用tornado来构建http服务。
示例代码(httpServer1.py):
#! /usr/bin/env python3
#-*- coding:utf-8 -*-
import tornado.ioloop
import tornado.web
import tornado.httpserver
import json,time,datetime
settings = {
"debug" : False ,
}
def trace(reqType,reqBody):
msg = str(datetime.datetime.now()) + " , [" + reqType + "] , " + str(reqBody)
print(msg)
class MainHandler(tornado.web.RequestHandler):
def get(self):
trace("get",self.request.arguments)
#query = self.get_query_argument("query")
#print("query : %s" % query)
self.set_header('content-type', 'application/json')
#self.write(json.dumps({"result" : "test message"}))
self.finish(json.dumps({"result" : "get message"}))
def put(self):
trace("put",self.request.body)
self.finish(json.dumps({"result" : "put message"}))
def post(self):
#trace("post",self.request.arguments)
trace("post",self.request.body)
self.set_header('Content-type', 'application/json')
#self.set_header('Transfer-Encoding', 'chunked')
self.finish(json.dumps({"result" : "post message %d" % time.time()}))
if __name__ == "__main__":
port = 8093
print("listen on port %d"%port)
application = tornado.web.Application([
(r"/.*", MainHandler),

最低0.47元/天 解锁文章
5248

被折叠的 条评论
为什么被折叠?



