mfc,C++,HTTP,POST方式提交请求
来源:互联网 发布:知乎推荐书单排行榜 编辑:程序博客网 时间:2024/06/10 19:46
用到第3方库,libcurl.lib,libcurl.dll
最好从官网下载,下载exe文件,然后安装下,会出现一个curl文件夹,还有libcurl.lib,libcurl.dll文件。
#include "curl/curl.h"//注意路径,放在哪个路径下就写哪个路径
#define POSTURL "http://cert.icinfo.cn/binddataquery" #define POSTFIELDS "data1&data2&data3"//数据之间以&连接 #pragma comment(lib, "libcurl.lib")//注意路径
接下来是post数据请求代码:
CURL *curl; CURLcode res; std::string fptr;struct curl_slist *http_header = NULL; curl = curl_easy_init(); curl_easy_setopt(curl, CURLOPT_URL, POSTURL); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, POSTFIELDS); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); //注意回调函数curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*)&fptr); //传的引用curl_easy_setopt(curl, CURLOPT_POST, 1); curl_easy_setopt(curl, CURLOPT_VERBOSE, 1); curl_easy_setopt(curl, CURLOPT_HEADER, 1); curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1); res = curl_easy_perform(curl); //返回错误码,见后边链接1if(res){MessageBox("conect error","提示",MB_OK);return false;}CString str = fptr.c_str();MessageBox(str,"",MB_OK);curl_easy_cleanup(curl);
size_t write_data(void *buffer, size_t size, size_t nmemb, void *userp) { /* FILE *fptr = (FILE*)userp; fwrite(buffer, size, nmemb, fptr); return size * nmemb;;*/std::string* str = dynamic_cast<std::string*>((std::string *)userp); if( NULL == str || NULL == buffer ) { return -1; } char* pData = (char*)buffer; if(pData){str->append(pData, size * nmemb); } return nmemb; }
遇到的问题:
1. 如果提示“没有找到zlib1.dll,因此这个应用程序未能启动”。
下载合适的zlib1.dll,下载的地址忘记了,放在system32下,如果有的话,覆盖掉以前的。
链接1:
http://blog.csdn.net/cwj649956781/article/details/8086337
链接2:
http://blog.csdn.net/wzx19840423/article/details/6587370
0 0
- mfc,C++,HTTP,POST方式提交请求
- HTTP请求的POST方式的提交
- nodejs的http.request使用post方式提交数据请求
- HTTP请求提交方式
- MFC Http Post请求步骤
- MFC之HTTP post请求
- HTTP 模拟POST方式提交
- HTTP常用post请求方式
- http请求 get post 方式
- C#使用post提交http请求
- Http请求之post和get提交
- Http 模拟form表单提交Post请求
- 【C#】HTTP请求GET,POST
- [C#] HTTP请求GET,POST
- 【C#】HTTP请求GET,POST
- 使用HttpWebRequest发送HTTP请求,同时支持GET/POST方式提交。
- HTTP的两种提交请求的方式get和post
- Android传统HTTP请求get----post方式提交数据(包含乱码问题)
- gcc 生成动态库 和静态库 文件
- 二进制(原码、反码、补码)
- c/c++2:数据结构
- validationGroup和Page_ClientValidate()配合使用解决前端click事件返回为false时验证失效问题
- windows 删除多层目录
- mfc,C++,HTTP,POST方式提交请求
- 结构体变量后边带的冒号:
- 动态规划算法
- 使用libvirt库创建kvm虚拟机
- codeblock_object-c开发环境搭建
- 高通平台MIPI DCS read 方法
- JS和jquery的几个令人迷惑的问题之五-类和模块
- Ubuntu12.04下配置vsftp服务的过程及常见问题分析
- ubuntu设置DNS。重启也有效的方法