位置: 编程技术 - 正文

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

编辑:rootadmin

推荐整理分享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导致的贴图错误问题

  • 前一年度进项税少记了怎么办
  • 企业所得税的会计利润计算公式
  • 农产品抵扣计算题
  • 小规模一季度不超过45万
  • 公司滴滴发票是什么意思
  • 工业会计成本核算分录
  • 去年销售怎么算
  • 有限合伙企业对外转让财产份额
  • 境外个人汇入汇款规定
  • 记账凭证保存年限2019
  • 报销差旅费必须要车票吗
  • 旧物品翻新
  • 出口汇兑损益的会计分录
  • 离职违约金赔偿标准
  • 公司费用高好还是低好
  • 收入确认和成本的关系
  • win11版本英文
  • kcleaner.exe是什么
  • 小企业会计准则适用于哪些企业
  • 逾期未收回包装物押金增值税怎么算
  • 双轨制会计核算原则
  • 莫斯塔尔古桥多高
  • js如何随机生成字符串
  • 基建费用如何摊销
  • react router教程
  • thinkphp3.0
  • 发放工资时扣除的保险怎么做
  • 云原生是什么
  • js实现拖拽选区的功能
  • metareplace -e
  • php错误和异常
  • php post数据
  • php会员到期功能
  • 旅游业发票的税率是多少
  • 分公司在外地,企业怎么交税
  • 房地产股权转让涉及哪些税费
  • 开基本户一定要法人身份证吗
  • python 协程 yield
  • php显示当前时间
  • PostgreSQL教程(一):数据表详解
  • 防火门是属于固定材料吗
  • mysql中的语法
  • 经营性存款人罚款
  • 公司注销实收资本怎么处理
  • 原材料贷方余额怎么转成本
  • 商业会计怎么算主营业务成本
  • 在建工程物资属于存货吗
  • 企业技术服务费有税前列支限额吗
  • 实物出资没有发票怎么办
  • 失控发票进项税转出成本调整
  • 什么费用可以列入研发费用
  • 销售废旧物资如何入账
  • 企业代购是什么意思
  • sql 常用语录
  • 在sql server
  • 新买的电脑如何验机
  • [视频回复]
  • ubuntu鼠标不能移动
  • centos重新安装命令
  • win1020h2正式版
  • linux中make
  • ubuntu配置vsftpd
  • centos ohmyzsh
  • win8.1怎么重新装系统
  • unity unity3d
  • 多个checkbox选中触发事件
  • linux命令shell脚本
  • Strumpy Shader Editor入门教程
  • rhel7.6安装
  • jquery的方法get做什么
  • javascript的
  • 在windows 10中
  • 教程java
  • 税务局着装规定文件
  • 贵阳北控水务电话客服电话
  • 多交了个人所得税怎么算
  • 营业税未达起征点
  • 社保已生成单据如何作废上海
  • 申报农业项目的程序是什么?
  • 供给侧改革什么样的劳动力
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设