讲一个在实际开发中可以经常用到的库吧。我们在平常的开发中经常会遇到调用webapi的情况。其实也就是get和post访问网页。或者搭建一个简单的api服务器。那么这个httplib就可以帮你。
github: https://github.c++om/yhirose/cpp-httplib
中文:一个C++11单文件头文件跨平台 HTTP/HTTPS 库。使用它,我们只需要在头文件中添加这个头文件即可,看下它的给出例子。
这里源文件上面的#define是启用了一个OpenSSL的支持:https://www.openssl.org
首先创建好项目。完成准备工作。然后往里面写入代码。这里我用get访问百度作为示例。这就是一个简单的例子,使用非常简单。
那么我们看到返回的数据在控制台是乱码,因为它是utf-8类型的数据。我们只要把它转成Gb2312就可以正常使用,下面附上utf-8和gb2312互转的实现。
char* U2G(const char* utf8)
{
int len = MultiByteToWideChar(CP_UTF8, 0, utf8, -1, NULL, 0);
wchar_t* wstr = new wchar_t[len+1];
memset(wstr, 0, len+1);
MultiByteToWideChar(CP_UTF8, 0, utf8, -1, wstr, len);
len = WideCharToMultiByte(CP_ACP, 0, wstr, -1, NULL, 0, NULL, NULL);
char* str = new char[len+1];
memset(str, 0, len+1);
WideCharToMultiByte(CP_ACP, 0, wstr, -1, str, len, NULL, NULL);
if(wstr) delete[] wstr;
return str;
}
//GB2312到UTF-8的转换
char* G2U(const char* gb2312)
{
int len = MultiByteToWideChar(CP_ACP, 0, gb2312, -1, NULL, 0);
wchar_t* wstr = new wchar_t[len+1];
memset(wstr, 0, len+1);
MultiByteToWideChar(CP_ACP, 0, gb2312, -1, wstr, len);
len = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, NULL, 0, NULL, NULL);
char* str = new char[len+1];
memset(str, 0, len+1);
WideCharToMultiByte(CP_UTF8, 0, wstr, -1, str, len, NULL, NULL);
if(wstr) delete[] wstr;
return str;
}
这篇就这样啦。
FCSQ安全团队(FCSQ-SEC)是一个商业性的民间技术机构,主要由计算机爱好者组成。FCSQ安全团队创立于2021年1月1日,由安静等人共同创建。
我们致力于网络安全、应用安全与WEB安全等领域的研究探索,并进行有计划有组织的计算机技术方面的研究、交流、整理和推广工作。
网络安全离不开你我的共同努力,维护网络安全是我们永恒不变的心愿!
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...