C/C++实现HTTP/HTTPS的POST存在的问题
用微软的那套东西确实很令人不爽,写个HTTP/HTTPS POST小功能都令人抓狂。
连接,发送,关闭就这么简单。
发送时使用了API HttpSendRequest,但是这个方法的body(即第4个参数必须为multi-char),所以您现在正在使用Unicode,那么必须现将之转化为multi-char
如果不转化有什么后果?结果是post的数据不完整。而且post data仅仅只有一个字母。
很可惜的是,MSDN关于该API没有解释清楚。这样会令人不知其原因。
继续思考一下,MFC其实封装了底层API,那么CHTTPFile的SendRequest是否存在类似问题呢?答案是肯定的。解决方法上面已经说了。