基于libcurl的POST(http)
#include <stdio.h>
#include <curl/curl.h>
int main (void)
{
char *url="http://www.nengyouyun.cn/user/getAppversionnew2?apptype=H5C899DDC";
//char *url="http://127.0.0.1:8080"; //Liuzhenbo
//char *url="http://www.baidu.com"; //Liuzhenbo
//char *url="localhost"; CURL *pCurl = NULL;
CURLcode res; struct curl_slist *headerlist = NULL; struct curl_httppost *post = NULL;
struct curl_httppost *last = NULL;
//-----------------------------------------------------------------------//picture1
curl_formadd(&post, &last,CURLFORM_COPYNAME, "picture1", //此处表示要传的参数名
CURLFORM_FILE, "1.jpg", //此处表示图片文件的路径
//CURLFORM_CONTENTTYPE, "image/jpeg",
CURLFORM_END);
//------------------------------------------------------------------------//picture2
curl_formadd(&post, &last,
CURLFORM_COPYNAME, "picture2", //此处表示要传的参数名
CURLFORM_FILE, "2.jpg", //此处表示图片文件的路径
CURLFORM_END);
//----------------------------------------------------------------------------//json
curl_formadd(&post, &last,
CURLFORM_COPYNAME, "text1", //此处为别的参数
CURLFORM_COPYCONTENTS, "1.json", //要上传的json字符串
CURLFORM_END);
//------------------------------------------------------------------------------
pCurl = curl_easy_init(); //初始化句柄 -liuzhenbo if (NULL != pCurl)
{
//curl_easy_setopt(pCurl, CURLOPT_TIMEOUT, 5);
curl_easy_setopt(pCurl, CURLOPT_URL, url);
curl_easy_setopt(pCurl, CURLOPT_HTTPPOST, post); res = curl_easy_perform(pCurl);
// printf("\nres is OK!--liuzhenbo\n"); //-liuzhenbo
if (res != CURLE_OK)
{
printf("\nres is not ok!--liuzhenbo\n"); //-liuzhenbo
printf("curl_easy_perform() failed,error code is:%s\n", curl_easy_strerror(res));
}
printf("\n"); curl_easy_cleanup(pCurl); }
}
服务器返回的http主体:
lzb@lzb:~/projects/curls/http_post$ ./liu_post
{"app":{"id":,"version":"1.73","upfile":"","apkfile":null,"apptype":{"id":"apptype-H5C899DDC","key":{"dicno":"apptype","datano":"H5C899DDC"},"name":"昱昌","sortnum":"","isuse":""},"descr":"修改APP地图界面客户数的统计"}}
基于libcurl的POST(http)的更多相关文章
- 基于libcurl实现REST风格http/https的get和post
c/c++开发中经常要用到http/https协议,直接使用socket工作量很大,要是使用socket实现https,那更不可思议,开源的c/c++的http客户端框架,libcurl是首选,而且也 ...
- 基于libcurl的restfull接口 post posts get gets
头文件 #pragma once #ifndef __HTTP_CURL_H__ #define __HTTP_CURL_H__ #include <string> #include &q ...
- 基于libcurl的GET与POST(HTTP1.1)
#include <stdio.h> #include <curl/curl.h> bool getUrl(char *filename) { CURL *curl; CURL ...
- C++ 用libcurl库进行http通讯网络编程
使用libcurl完成http通讯,很方便而且是线程安全,转载一篇比较好的入门文章 转载自 http://www.cnblogs.com/moodlxs/archive/2012/10/15/2724 ...
- C++ 用libcurl库进行http通讯网络编程(转)
转载:http://www.cnblogs.com/moodlxs/archive/2012/10/15/2724318.html 目录索引: 一.LibCurl基本编程框架 二.一些基本的函数 三. ...
- 2.1 LibCurl编程流程(转)
转载地址:http://blog.chinaunix.net/u/17660/showart_1822514.html2 LibCurl编程2.1 LibCurl编程流程在基于LibCurl的程序里, ...
- 基于Httpfs访问HDFS的C++实现
Httpfs是hadoop2.x中hdfs项目的内置应用,基于tomcat和jesery,对外提供完备HDFS操作的RESTful接口,无需安装客户端,可方便实现数据交互,如从windows访问存储在 ...
- libcurl
一.LibCurl基本编程框架 二.一些基本的函数 三.curl_easy_setopt函数部分选项介绍 四.curl_easy_perform 函数说明(error 状态码) 五.libcurl使用 ...
- libcurl编程学习
一.curl简介 curl是一个利用URL语法在命令行方式下工作的文件传输工具.它支持的协议有:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以 ...
随机推荐
- centos7上安装mysql8
话不多说仍然是更换虚拟机的系列安装. 一.首先下载最先版的mysql.到官网下载https://dev.mysql.com/downloads/file/?id=477146 下载后上传linux到相 ...
- Java关键字与标识符
什么是关键字? Java语言赋予特定含义的单词被称为关键字,比如在HelloWorld中的class.public.static.void. 关键字的特点: 完全小写的字母. 在增强版的记事本当中(例 ...
- 九十六、SAP中ALV事件之九,显示功能按钮栏中显示ALV加强工具栏
一.排查了很久,终于找到问题所在.把问题解决了,代码如下: 二.运行效果如下 三.试一试,标准功能都可以用 完美
- 设置进程用指定IE版本
function IsWOW64: BOOL; begin Result := False; if GetProcAddress(GetModuleHandle(kernel32), 'IsWow64 ...
- 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Spring声明式事务管理(基于Annotation注解方式实现)
在 Spring 中,除了使用基于 XML 的方式可以实现声明式事务管理以外,还可以通过 Annotation 注解的方式实现声明式事务管理. 使用 Annotation 的方式非常简单,只需要在项目 ...
- SciKit-Learn 教程
本教程力求做到简单易懂.深入浅出,帮助你快速掌握机器学习通用库 SciKit-Learn. 机器学习是计算机科学的一个分支,研究的是无需人类干预,能够自己学习的算法. 与TensorFlow不同,Sc ...
- super方法
继承 __init__是python中的构造函数,用于属性的初始化. 如果在子类中定义了构造函数,python默认不会调用父类的构造函数,父类里的属性就不会集成到子类. super 用于调用父类(超类 ...
- ROS2学习日志:QoS学习日志
QoS学习日志 参考:ROS2API 及 https://index.ros.org/doc/ros2/Concepts/About-Quality-of-Service-Settings 1.概述 ...
- POJ - 3349 Snowflake Snow Snowflakes (哈希)
题意:给定n(0 < n ≤ 100000)个雪花,每个雪花有6个花瓣(花瓣具有一定的长度),问是否存在两个相同的雪花.若两个雪花以某个花瓣为起点顺时针或逆时针各花瓣长度依次相同,则认为两花瓣相 ...
- Kaggle: House Prices: Advanced Regression Techniques
Kaggle: House Prices: Advanced Regression Techniques notebook来自https://www.kaggle.com/neviadomski/ho ...