最近项目有需求要用c++发送http请求,找了一个开源的叫happyhttp,看了一下例子是c形式的用法,不是很习惯,改造了一下增加了一个CMyHappyHttp的class变为c++形式的。happyhttp官网:http://scumways.com/happyhttp/happyhttp.html。本人主要是java的,c++人手不够也帮忙做做,如有不好的地方,欢迎指正。代码请参看附件。
测试代码:
#include "happyhttp.h" #include <cstdio> #include <cstring> #ifdef WIN32 #include <winsock2.h> #endif // WIN32 void Test() { printf("-----------------Test------------------------\n" ); happyhttp::CMyHappyHttp cMyHappyHttp; string strPf = "/9j/4AAQSkZJRgABAQEAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcU"; strPf = cMyHappyHttp.urlEncoding(strPf); string strCustCertAddr = ""; string strCustName = "小明"; string strIssuingAuthority = "广州天河公安局"; string strNation = "汉"; string strErr = ""; int iRet = cMyHappyHttp.myConvertCharset("什么", "GBK", strCustCertAddr, "UTF-8", strErr); cout << "▇iRet:" << iRet << endl; cout << "▇strErr:" << strErr << endl; string strBody = "params={\"busiCode\":\"OPEN_CALL\",\"reqInfo\":{\"billId\":\"13507884478\",\"birthday\":\"19890210\",\"busiType\":\"11\",\"certExpdate\":\"20180722\",\"certValiddate\":\"20080722\",\"channelId\":\"onlineball\",\"custCertAddr\":\"" + strCustCertAddr + "\",\"custCertNo\":\"450422198902102656\",\"custName\":\"" + strCustName + "\",\"gender\":\"0\",\"issuingAuthority\":\"" + strIssuingAuthority + "\",\"nation\":\"" + strNation + "\",\"operCode\":\"\",\"picNameF\":\"" + strPf + "\",\"picNameT\":\"\",\"picNameZ\":\"\",\"transactionID\":\"77100120151008173847000404\"},\"sourceCode\":\"1085\",\"targetCode\":\"771\",\"version\":\"1.0\"}"; string strResponse = ""; strErr = ""; iRet = cMyHappyHttp.postHttpRequest("http://10.182.20.38:9808/open/workflow/realNameInter", strBody.c_str(), strResponse, strErr); cout << "▇iRet:" << iRet << endl; cout << "▇strErr:" << strErr << endl; cout << "▇strResponse:" << strResponse << endl; } int main( int argc, char* argv[] ) { #ifdef WIN32 WSAData wsaData; int code = WSAStartup(MAKEWORD(1, 1), &wsaData); if( code != 0 ) { printf("shite. %d\n",code); return 0; } #endif //WIN32 try { Test(); } catch( happyhttp::Wobbly& e ) { printf("Exception:\n%s\n", e.what() ); } #ifdef WIN32 WSACleanup(); #endif // WIN32 return 0; }
运行结果:
-----------------Test------------------------
▇iconvConvertCharset-in:什么
▇iconvConvertCharset-out:浠€涔?
▇iconvConvertCharset-ol:494
▇iRet:0
▇strErr:
▇server:10.182.20.38
▇port:9808
▇path:/open/workflow/realNameInter
▇body:params={"busiCode":"OPEN_CALL","reqInfo":{"billId":"13507884478","birthday":"19890210","busiType":"11","certExpdate":"20180722","certValiddate":"20080722","channelId":"onlineball","custCertAddr":"浠€涔?,"custCertNo":"450422198902102656","custName":"小明","gender":"0","issuingAuthority":"广州天河公安局","nation":"汉","operCode":"","picNameF":"%2F9j%2F4AAQSkZJRgABAQEAAQABAAD%2F2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcU","picNameT":"","picNameZ":"","transactionID":"77100120151008173847000404"},"sourceCode":"1085","targetCode":"771","version":"1.0"}
▇BEGIN (200 OK)
{"returnCode":"0000","returnMessage":"成功"}▇COMPLETE (44 bytes)
▇iRet:0
▇strErr:
▇strResponse:{"returnCode":"0000","returnMessage":"成功"}
相关推荐
Kotti 是一个基于 Pyramid 框架的 Python 内容管理系统(CMS),适合用来搭建中小型网站、文档库、企业展示平台、知识库等需要灵活内容结构和权限模型的项目。它本身更像一个可以二次开发的 CMS 框架,比 WordPress、Drupal 这类“一装就用”的系统更倾向于开发者定制和扩展。 这是支持pyramid2.x版本的kotti! tar -xzvf kotti1.0.tar.gz 解压缩 进入目录执行 pip install -e . 来安装, 然后执行pserve app.ini 启动。 用浏览器浏览127.0.0.1:5000 即可浏览。 用户名admin ,口令qwerty
cmd-bat-批处理-脚本-hello world.zip
知识付费系统自动采集V3.0 跳转不卡顿+搭建教程,不和外面的一样跳转卡顿,这个跳转不卡顿,支持三级分销。
在Matlab环境下,对图像进行特征提取时,主要涵盖形状、纹理以及颜色这三大关键特征。其中,对于纹理特征的提取,采用灰度梯度共生矩阵这一方法来实现。通过灰度梯度共生矩阵,可以有效地捕捉图像中像素灰度值之间在不同方向和距离上的相互关系,进而量化地反映出图像的纹理特性,为后续的图像分析、分类等任务提供重要的纹理信息依据。
该数据集为2010-2023年中国A股上市公司管理层情感语调的年度面板数据,覆盖45,320条样本,数据源自年报及半年报的"管理层讨论与分析"部分。通过构建中文金融情感词典(融合《知网情感分析用词典》与L&M金融词汇表),采用文本分析方法计算情感语调指标,包括:正面/负面词汇数量、文本相似度、情感语调1((积极词-消极词)/总词数)和情感语调2((积极词-消极词)/(积极词+消极词))。同时包含盈利预测偏差、审计意见类型等衍生指标,可用于研究信息披露质量、市场反应及代理问题。该数据复刻了《管理世界》《财经研究》等期刊的变量构建方法,被应用于分析语调操纵对债券市场的影响,学术常用度与稀缺度较高。
cmd-bat-批处理-脚本-FTIME.zip
1747829038637.png
2025年自动化X光检查机项目大数据研究报告.docx
在计算机组成原理课程设计中,我全程跟随老师的指导,独立完成了以下两项任务:一是利用Logisim软件进行原码一位乘法器的仿真设计,通过逐步搭建电路、配置逻辑单元,实现了原码乘法运算的完整流程,深入理解了原码乘法的原理和实现机制;二是完成了补码一位乘法器的Logisim仿真,同样按照老师讲解的步骤,精心设计电路,确保补码乘法运算的正确性,进一步掌握了补码乘法的运算规则和电路实现方法。通过这两个项目,我不仅巩固了理论知识,还提升了动手实践能力和逻辑思维能力。
cmd-bat-批处理-脚本-msvc2017.zip
cmd-bat-批处理-脚本-virtualcam-install.zip
二十四节气之立秋介绍.pptx
cmd-bat-批处理-脚本-shift.zip
二十四节气之小雪介绍.pptx
java、SpringBoot面试专题,6页面试题
cmd-bat-批处理-脚本-GenerateUnionWinMD.zip
二十四节气之大暑节气.pptx
python实现五子棋游戏源码
cmd-bat-批处理-脚本-TransparentConsole.zip