位置: 编程技术 - 正文

Curl 传输选项Option-详解(curl发送formdata)

发布时间:2024-02-27

推荐整理分享Curl 传输选项Option-详解(curl发送formdata),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:curlput上传文件,curl命令上传文件到服务器,curl传输文件,curl命令上传文件到服务器,curl传输文件,curl post 传参数,curl传递参数,curl传输文件,内容如对您有帮助,希望把文章链接给更多的朋友!

Curl是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win、Win下的移植版本。

CURL函数列表:

函数描述curl_close()关闭一个cURL会话。curl_copy_handle()复制一个cURL句柄和它的所有选项。curl_errno()返回最后一次的错误号。curl_error()返回一个保护当前会话最近一次错误的字符串。curl_escape()返回转义字符串,对给定的字符串进行URL编码。curl_exec()执行一个cURL会话。curl_file_create()创建一个 CURLFile 对象。curl_getinfo()获取一个cURL连接资源句柄的信息。curl_init()初始化一个cURL会话。curl_multi_add_handle()向curl批处理会话中添加单独的curl句柄。curl_multi_close()关闭一组cURL句柄。curl_multi_exec()运行当前 cURL 句柄的子连接。curl_multi_getcontent()如果设置了CURLOPT_RETURNTRANSFER,则返回获取的输出的文本流。curl_multi_info_read()获取当前解析的cURL的相关传输信息。curl_multi_init()返回一个新cURL批处理句柄。curl_multi_remove_handle()移除curl批处理句柄资源中的某个句柄资源。curl_multi_select()等待所有cURL批处理中的活动连接。curl_multi_setopt()设置一个批处理cURL传输选项。curl_multi_strerror()返回描述错误码的字符串文本。curl_pause()暂停及恢复连接。curl_reset()重置libcurl的会话句柄的所有选项。curl_setopt_array()为cURL传输会话批量设置选项。curl_setopt()设置一个cURL传输选项。curl_share_close()关闭cURL共享句柄。curl_share_init()初始化cURL共享句柄。curl_share_setopt()设置一个共享句柄的cURL传输选项。curl_strerror()返回错误代码的字符串描述。curl_unescape()解码URL编码后的字符串。curl_version()获取cURL版本信息。

CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter);

说明:此函数用来告诉 libcurl 执行什么样的动作。该函数有 3 个参数(该函数的可设置选项非常之多):

第 1 个参数 handle 是由 curl_easy_init() 返回的句柄;

Curl 传输选项Option-详解(curl发送formdata)

第 2 个参数是可以设置的选项(CURLoption);

第 3 个参数是与第 2 个选项相关联的参数,这个参数可以是 long 型,也可以是一个函数指针(function pointer),还可以是一个对象的指针 (object pointer),或者是一个 curl_off_t 类型,这些参数类型必须由选项&#;(CURLoption)来确定。

网络选项(NETWORK OPTIONS):1. CURLOPT_URL这个选项后面接实际要处理的 URL ,这个 URL 是一个以 '' 结尾的字符串或参数指针(关于这个参数的简单示例见: URL 参数不写上协议头(如 " 或者 " 等等 ),那么函数会自己进行猜解所给的主机上用的是哪一种服务协议。假如你给的这个地址是一个不被 支持的协议,那么在其后执行 curl_easy_perform() 函数或 curl_multi_perform() 函数时, libcurl 将返回错误(CURLE_UNSUPPORTED_PROTOCOL)。这个选项是唯一一个必须在 curl_easy_perform() 调用之前就要设置的选项。2. CURLOPT_POSTFIELDSIZE该选项要求第 3 个参数 parameter 是一个 void * 指针,它指向一个向 HTTP 服务器 POST 出去的一段数据,这段数据要根据服务器的具体要求填写。该选项用法参考示例: CURLOPT_WRITEFUNCTION使用该选项时,要求第 3 个参数中的回调函数必须是下面的函数原型:

在启动会话时,一旦检测到有需要接收的数据时,回调函数被调用。ptr 所指向的数据大小由 size 和 nmemb 的乘积获得。函数最后需要返回接收数据的大小。如果不使用该函数,那么接收到的数据会直接打印到终端;使用该函数,那么接收到的数据保存在 ptr 所执向的区域,可以利用此来保存接收下来的数据。4. CURLOPT_USERAGENT该选项要求传递一个以 '' 结尾的字符串指针,这个字符串用来在向服务器请求时发送 HTTP 头部中的 User-Agent 信息,有些服务器是需要检测这个信息的,如果没有设置 User-Agent,那么服务器拒绝请求。设置后,可以骗过服务器对此的检查。5. CURLOPT_WRITEDATA使用该选项时,第 3 个参数作为用户数据的指针而传递到使用 CURLOPT_WRITEFUNCTION 选项时指定的回调函数中(第 4 个参数)。如果不想用回调函数而保存数据,那么可以使用 CURLOPT_WRITEDATA 选项,使用该选项时,函数的第 3 个参数必须是个 FILE 指针,函数会将接收到的数据自动的写到这个 FILE 指针所指向的文件流中。6. CURLOPT_VERBOSE在使用该选项且第 3 个参数为 1 时,curl 库会显示详细的操作信息。这对程序的调试具有极大的帮助。7. CURLOPT_NOBODY使用该选项时,若第 3 个参数设为 1,这样在输出中就不会包含主体内容部分。这仅是对在传输的所有内容中,含有“头部”和“主题内容”两部分的协议而言。如 HTTP(S) 服务器,在这种情况下将会使 libcurl 库仅发出一个头部请求。8. CURLOPT_HEADER使用该选项时,第 3 个参数设置为 1,那么会通知 curl 库在输出时要同时包含 "头部“ 和 "主题内容" 两个部分。该选项仅是对那些同时包含了”头部“和”主题内容“这两部分的协议而言(如 HTTP)。9. CURLOPT_HEADERFUNCTION该选项与上面第 3 个选项 CURLOPT_WRITEFUNCTION 类&#;,只要它一接收到头部信息时,它就会执行回调函数。需要注意的是,回调函数里处理的头部包含了所有收到的响应的头部信息,而不只是最后一次的响应。如果需要处理其中的一个头部,那么自己需要在所收集的头部信息中进行区分。. CURLOPT_WRITEHEADER 和 CURLOPT_HEADERDATA这两个选项是同一种意思。它们和第 5 条中的 CURLOPT_WRITEDATA 选项功能一样,表示在接收到头部信息并调用回调函数时,给回调函数传递第 4 个参数。. CURLOPT_INFILESIZE当向服务器上传文件时,该选项用来告诉 curl 库期望上传的文件的大小。使用该选项时,应该给函数第 3 个参数的应该是个 long 型变量。如果用的是 SCP 传输,那么该选项强制使用 CURLOPT_INFILESIZE_LARGE 。. CURLOPT_INFILESIZE_LARGE该选项和 CURLOPT_INFILESIZE 功能一样,但是它要求函数的第 3 个参数必须是个 curl_off_t 类型。curl_off_t 为 int_t 类型,而 int_t 定义在 stdint.h 中:

由上面定义知,一般的,如果是 位平台,它就是 long long 型,表示 位的;如果是 位平台,它就是 long 型,也为 位。总之,就是个 位的。. CURLOPT_QUOTE 和 CURLOPT_POSTQUOTE这两个选项的功能类&#;,它们的共同点都是给 FTP 或 SFTP 传递命令。这些命令应该放在 struct slist 链表中存储,使用时需要用 curl_slist_append() 函数将这些命令打包起来,然后一起发送出去。它们的不同点是:CURLOPT_QUOTE 选项要求命令要在 FTP 传输请求之前就要发送到库,而 CURLOPT_POSTQUOTE 则可以在 FTP 传输请求发送完后发送。比如像下面的执行顺序是无法达到目的的:上面假设第 1 条 curl_easy_perform(curl); 语句已经发送了 FTP 传输请求,然后再用 CURLOPT_QUOTE 发送命令是错误的,这里应该使用 CURLOPT_POSTQUOTE 选项。使用 CURLOPT_QUOTE 选项需要先用 curl_easy_perform() 函数将其发送,然后再用一次 curl_easy_perform() 发送 FTP 传输请求。也就是说需要执行两次 curl_easy_perform() 函数。而用 CURLOPT_POSTQUOTE 选项则不需要这样,它只要将选项设置好后,然后只执行一次 curl_easy_perform() 函数即可。. CURLOPT_READFUNCTION 和 CURLOPT_READDATA这两个选项和上面的 CURLOPT_WRITEFUNCTION 和 CURLOPT_WRITEDATA 类&#;。在 CURLOPT_READFUNCTION 的回调函数里,第 1 个参数 ptr 指针用来接收从第 4 个参数传递过来的数据(这个参数往往是个文件流指针),而这个参数是使用 CURLOPT_READDATA 选项时传递过来的。. CURLOPT_UPLOAD在使用该选项时,第 3 个参数设置为 1,表示要准备上传文件。这个参数往往会配合 CURLOPT_READDATA,CURLOPT_INFILESIZE_LARGE,以及 CURLOPT_INFILESIZE 这几个选项一起用。如果是使用 HTTP 协议,那么使用 PUT 的方法进行上传,除非另有指定。

//curl_opt选项列表详细分析介绍,需要的朋友可以参考下

CCClippingNode导致的贴图错误问题 此问题我的原文和解决办法:

cocos2dx3.0的label字体去描边 /pre/h4pprename=codeclass=cpp近日,一直被3.0的字体描边所困扰,在安卓手机下字体没问题,挺好看,但是在iphone手机上显示特别不清晰,一直很怪异的感觉,

骨骼动画详解-Spine 游戏中人物的走动,跑动,攻击等动作是必不可少,实现它们的方法一般采用帧动画或者骨骼动画。帧动画与骨骼动画的区别在于:帧动画的每一帧都

标签: curl发送formdata

本文链接地址:https://www.jiuchutong.com/biancheng/372766.html 转载请保留说明!

上一篇:动作

下一篇:CCClippingNode导致的贴图错误问题

  • 计算土地增值税时允许扣除的项目有
  • 某煤矿将自采原煤用于投资的业务应缴纳资源税
  • 税前弥补以前年度亏损例
  • 广播影视服务税率2023
  • 增值税普通发票和电子普通发票的区别
  • 个人所得税孩子小学升初中要修改吗?
  • 实收资本记账凭证摘要怎么写
  • 红字发票信息表编号在哪里看
  • 企业所得税包含哪些税种
  • 租赁个人汽车
  • 使用权资产是什么类科目
  • 预算分配比例与国库不一样
  • 两处以上取得工资如何交社保
  • 开广告公司需要营业执照吗
  • 养殖企业如何做销售
  • 预缴税款是否可以强制执行
  • 个人劳务发票怎么交税
  • 个人转让著作权交什么税
  • 不是企业性质的民办学校要交什么税
  • 增值税专用发票的税率是多少啊
  • 税种核定办理流程
  • 增值税电子发票有限额吗
  • 企业所得税减免政策
  • 动车票的税进行抵扣该填写在哪里
  • 小企业流动资产一般是多少
  • 给出含税货款会计分录
  • 出口货物退免税凭证资料应当保存几年
  • win10j截图
  • 电脑右下角的弹窗怎么关
  • php获取远程文件数据
  • php获取远程文件扩展名
  • win10启用网络发现保存后又变成了关闭
  • 至极加速
  • win10应用商店下载微信
  • vim diff对比
  • 深度学习模型精度fp16和fp32
  • mac安装wine教程
  • 无形资产的摊销年限不得低于多少年
  • 最高成本的手机是哪款
  • 前端密码加密
  • 宜搭下载
  • pytorch go
  • 单元测试的测试工具
  • 企业合并兼并收购的区别和联系
  • 存放在仓库中的柴油属于什么会计要素
  • python dup函数
  • 在正确使用和正常维护的条件下
  • 所得税汇算清缴调整后要账务处理吗
  • 如果发票和实际不一样
  • 以房抵债会计分录怎么做
  • 差额征税如何做分录
  • 上月财务费用多做了,本月怎么调
  • 期末应交税费有余额吗
  • 供货方代垫运费计入什么科目
  • 出纳记帐凭证
  • 出租人融资租赁的判断标准
  • sql做判断
  • win2003安全模式怎么进
  • mac系统小技巧
  • watchdog. sys
  • 系统自动设置网络连接
  • winadm.exe - winadm是什么进程
  • windows使用svn命令
  • linux怎么恢复数据
  • Win10预览版镜像
  • 安卓手机插电脑上用id密码能查什么
  • 根据当前目录下的文件
  • nodejs的http
  • 基于javascript的毕业设计选题
  • uleb128、sleb128和uleb128p1编码格式介绍
  • python处理文本文件代码优化
  • jquery.form
  • jquery移动版
  • Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
  • javascript要怎么学
  • 单位购买房产作废怎么办
  • 陕西省国家税务局总局官网
  • 什么叫税务备案
  • 企业如何网上申报税
  • 免抵退税办法不得抵扣的进项
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号