【基于crul库编写源码实现上传文件到http服务器】

news2024/9/23 21:32:16

基于crul库编写源码实现上传文件到http服务器

  • 编译crul库(可以去我下载资源里面找)
  • 用postman生成代码
    • postman生成的代码
  • 对应的http服务器的设置
  • _msnap_send_to_httpserver函数有http通过json发送jpeg文件、以及上传ftp服务器、发邮件的实例

编译crul库(可以去我下载资源里面找)

tar xvf /home/lxr/lxr/crul/curl-7.73.0.tar.gz
cd curl-7.73.0/
./configure --prefix=$PWD/_install
//–prefix指定编译好工具和库存放的路径,–host指定编译工具
make && make install

用postman生成代码

postman下载(可以去我上传资源里面下载)
在这里插入图片描述

postman生成的代码

CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
  res= curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST");
if(res!=CURLE_OK){
	printf("faile %d %d\n",__LINE__,res);
}
  res =curl_easy_setopt(curl, CURLOPT_URL, "http://172.20.10.18/httpserver/");
if(res!=CURLE_OK){
	printf("faile %d %d\n",__LINE__,res);
}  
  res =curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
  	if(res!=CURLE_OK){
	printf("faile %d %d\n",__LINE__,res);
}
  res =curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https");
  	if(res!=CURLE_OK){
	printf("faile %d %d\n",__LINE__,res);
}
  struct curl_slist *headers = NULL;
  headers = curl_slist_append(headers, "Cookie: HFS_SID_=0QrlstPw5UAAAIDJIFTYPw");
  res =curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
  	if(res!=CURLE_OK){
	printf("faile %d %d\n",__LINE__,res);
}
  curl_mime *mime;
  curl_mimepart *part;
  mime = curl_mime_init(curl);
  part = curl_mime_addpart(mime);
  res =curl_mime_name(part, "");
  	  	if(res!=CURLE_OK){
	printf("faile %d %d\n",__LINE__,res);
}
  res =curl_mime_filedata(part, "a.txt");
  	  	if(res!=CURLE_OK){
	printf("faile %d %d\n",__LINE__,res);
}
  res =curl_easy_setopt(curl, CURLOPT_MIMEPOST, mime);
  	  	if(res!=CURLE_OK){
	printf("faile %d %d\n",__LINE__,res);
}
  res = curl_easy_perform(curl);
  	  	if(res!=CURLE_OK){
	printf("faile %d %d\n",__LINE__,res);
}
  curl_mime_free(mime);
}
curl_easy_cleanup(curl);

对应的http服务器的设置

可以参考我之前那章<<移植crul到富瀚6630平台上传文件到http服务器>>

_msnap_send_to_httpserver函数有http通过json发送jpeg文件、以及上传ftp服务器、发邮件的实例

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/171327.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL数据库及数据表相关操作

一,前言1.典型数据库数据库圈子中典型代表:MySQLOracleSQL Server&#xff08;一般在学校学习的时候用到的是这个数据库&#xff09;Oracle是世界上公认的最好的数据库,但是我们现在所学习以及以后上班中大部分时候用到的数据库是MySQL,因为MySQL是开源免费的(任何人都可以阅读…

86.编码器-解码器架构以及代码实现

1. 重新考察CNN 2. 重新考察RNN 3. 编码器-解码器架构 4. 总结 使用编码器-解码器架构的模型&#xff0c;编码器负责表示输入&#xff0c;解码器负责输出 5. 代码实现 5.1 编码器 在编码器接口中&#xff0c;我们只指定长度可变的序列作为编码器的输入X。 任何继承这个Enco…

数据结构 - 学习笔记 - 红黑树前传——234树

数据结构 - 学习笔记 - 红黑树前传——234树简介结点类型与红黑树对应关系插入逻辑插入步骤演示2结点插入3结点插入&#xff08;红黑树旋转&#xff09;共对应6种红黑树情形有4种情形需要再平衡4结点插入&#xff08;红黑树变色&#xff09;234树转红黑树触发分裂有4种情形需要…

234. 回文链表

1、题目描述 额外要求&#xff1a;你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题&#xff1f; 2、题解 2.1 解题思路1 使用额外的栈空间&#xff0c;先将链表中所有的元素依次压入栈中&#xff0c;得到链表的逆序&#xff0c;然后将栈中的元素依次弹出和链表中的元素从…

C++关于初始化列表的细节(必须/不能使用初始化列表的情况、初始化列表的效率分析)

必须使用初始化列表初始化的变量 const修饰的成员变量。 class A { public:A() { a 1; }int a; };构造函数内使用a 1初始化变量a&#xff0c;但这本质上是一种赋值&#xff0c;而我们都知道&#xff0c;const类型的变量是不允许赋值的。 没有默认构造函数的成员变量 所有变量…

百度安全在线查询提示风险原因分析与解决思路

很多站长看到自己的网站被百度提示&#xff1a;“百度网址安全中心提醒您&#xff1a;该页面可能存在违法信息”&#xff0c;这样的提示&#xff0c;都会惊讶自己网站昨天还好好的&#xff0c;怎么今天就提示这样的信息呢&#xff1f;在弄清楚这个问题之前&#xff0c;我们要知…

实时频谱仪的外部I、Q输出端口的同步扫描介绍

实时频谱分析仪与外部GPIO&#xff0c;I、Q输出端口等集成在一起。外部GPIO由外部触发功能组成&#xff0c;通过使用外部硬件和/或多个RTSA设备&#xff0c;可以实现同步扫描设置&#xff0c;以自动进行频谱扫描和捕获。同时&#xff0c;I、Q输出端口有助于与外部高速数字化仪集…

联合证券|日元疯狂跳水30000点!神秘无人机现身韩国萨德基地!

刚刚&#xff0c;又有大事发生&#xff01; 日本央行意外宣告保持收益率曲线忍受区间不变。日元忽然大暴跌&#xff0c;日元兑美元狂泻超三万点。韩国也有大音讯&#xff0c;据韩联社报导&#xff0c;1月17日&#xff0c;一架无人机挨近韩国“萨德”基地时被美军用搅扰枪击落&a…

2023跳槽最新面试题整理——JVM系列

今天是农历2022年腊月二十七了&#xff0c;和往常的春节假期、五一假期和十一假期一样都是团队中坚持到最后的一个。没几天也要快过年了&#xff0c;我先提前向大家拜个早年——祝大家兔年大吉&#xff0c;新春快乐&#xff0c;财源滚滚&#xff0c;万事如意。 今年从十一…

如何使用 Selenium 实现自动化操作?

目录 前言 一、关于Selenium 1.1、为什么选择它作为web自动化的测试工具&#xff1f; 1.2、Selenium操作浏览器的原理 二、实现一个简单的自动化 2.1、使用自动化操作浏览器 2.2、Selenium常用的API 2.2.1、查找页面元素 小结 前言 本篇咱们来谈谈Selenium自动化脚本是…

pfx证书转pem、crt、key

今天测试端的服务器突然不能下载苹果APP了&#xff0c;经查看&#xff0c;发现原来是测试环境的https证书过期了&#xff0c;需要更换证书&#xff0c;于是赶紧从阿里云更新我们的最新证书 我们程序部署在tomcat上&#xff0c;于是下载tomcat版本&#xff0c;下载完成后如下 我…

【微信小程序-原生开发】实用教程05-首页(含自定义调试模式、插入图片、图文排版、底部留白、添加本地图片)

开始前&#xff0c;请先完成启动/欢迎/首屏广告页的开发&#xff0c;详见 【微信小程序-原生开发】实用教程04-启动/欢迎/首屏广告页&#xff08;含倒计时、添加文字、rpx、定义变量和函数、读取变量、修改变量、wx.reLaunch 页面跳转、生命周期 onReady等) https://blog.csdn…

输入设备应用

1.输入设备其实就是能够产生输入事件的设备就称为输入设备&#xff0c; 常见的输入设备包括鼠标、键盘、触摸屏、按钮等等&#xff0c;它们都能够产生输入事件&#xff0c;产生输入数据给计算机系统。2.对于输入设备的应用编程其主要是获取输入设备上报的数据、 输入设备当前状…

驱动程序那点事儿

是什么 驱动程序是一个软件组件&#xff0c;&#xff08;添加到操作系统中的一小块代码&#xff09;&#xff0c;是操作系统和设备通信的桥梁。应用程序需要从设备中读取某些数据&#xff0c;操作系统会调用由驱动程序实现的函数。驱动程序了解如何与设备硬件通信以获取数据。当…

菜鸟程序员如何快速进阶成为编程老司机?

菜鸟程序员如何摆脱稚嫩&#xff0c;快速成长为一名资深码农&#xff1f; 以下这些事情&#xff0c;帮你快速打好基础。 如果你想成为更好的开发者&#xff0c;你应该尤其注意第10点和第14点。 1.积极大胆地谷歌。你得知道如何有效地组织搜索关键字&#xff0c;查阅别人写的…

高并发系统设计 --热点key问题解决

热点Key问题&#xff0c;这是一个老生常谈的问题了&#xff0c;今天我们来仔细的去剖析这个问题。 热点key带来的问题 流量集中。达到服务器处理上限&#xff08;CPU&#xff0c;网络IO等&#xff09;会影响在同一个Redis实例上其他key的读写请求操作热key请求落到同一个Redi…

【魅力开源】第7集:开源ERP系统Odoo发展史(Odoo中文社区野史2019版)

文章目录前言历程后记前言 开源 ERP 系统 Odoo 的发展史。 历程 2002 年比利时13 岁开 始学习编程序的 Fabien Pinckaers 所创建创办了Tiny Sprl 公司。Tiny Sprl 公司的第一个产品就是开发 Tiny ERP&#xff0c;即后来的 OpenERP&#xff0c;现在改名为Odoo。 2007 年 Ope…

Sklearn标准化和归一化方法汇总(3):范数归一化

Sklearn中与特征缩放有关的五个函数和类&#xff0c;全部位于sklearn.preprocessing包内。作为一个系列文章&#xff0c;我们将逐一讲解Sklearn中提供的标准化和归一化方法&#xff0c;以下是本系列已发布的文章列表&#xff1a; Sklearn标准化和归一化方法汇总(1)&#xff1a…

博云荣获证券基金信创联盟年度优秀成员

1月12日&#xff0c;证券基金行业信息技术应用创新联盟&#xff08;以下简称“联盟”&#xff09;2022年度峰会在上海顺利举行。会上&#xff0c;联盟为2022年积极参与联盟工作的成员单位进行了颁奖&#xff0c;博云获评信创联盟年度优秀成员奖。 联盟是在中国证券监督管理委员…

Spring | SM整合(Spring+MyBatis)

0️⃣使用工具编辑器&#xff1a;IDEA企业版构建系统&#xff1a;Maven数据库&#xff1a;MySQL1️⃣创建项目&#x1f38f;创建maven项目选择新建项目&#xff0c;在E盘下创建名为SMDemo的项目&#xff0c;构建系统选择Maven.&#x1f38f;项目结构src/main/java - java 逻辑代…