位置: 编程技术 - 正文

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导致的贴图错误问题

  • 税盘抵扣的会计分录
  • 餐饮业税负上升有什么原因
  • 税务筹划的12种方法知乎
  • 收取违约金如何处罚
  • 网上公司报税流程图
  • 厂房消防安装图
  • 增值税普票跨年重开风险
  • 分配结转制造费用会计分录怎么写?
  • 补缴的公积金可以抵扣个税吗
  • 消费税组成计税价格成本利润率
  • 不能抵扣的进项税怎么做账
  • 专票密码区出来了一点有关系吗
  • 普通征税差额征税减按征税
  • 我国个人取得的各种所得有几种类型
  • 企业所得税纳税申报表A类
  • 审计调整分录如何处理
  • 增值税抵扣联退税多少
  • 物资包括材料吗
  • 进口货物有进项税吗
  • 原材料损失计入
  • 公司注销银行账户流程
  • 税务变更后之前的进项
  • 支付测量费的补贴费用怎么记账
  • 招待客人买的烟计入业务招待费吗
  • 负数到正数的增减
  • 提取利润会计分录怎么做
  • 取得经营所得及其他所得交纳的所得税
  • php怎么创建数据表
  • mac环境搭建
  • PHP:Memcached::getMultiByKey()的用法_Memcached类
  • 挪威最北部
  • 实现产供销一体化
  • Web前端开发用什么软件
  • php 文件传输
  • zabbix agent启动命令
  • 个体生产经营所得优惠政策
  • 国际运输代理费属于什么科目
  • 企业工作小结
  • 没有开具发票的收入如何入账?
  • 预收账款可以用什么科目核算
  • 合营企业和联营企业是重大影响吗
  • 处置长期股权投资其他综合收益结转
  • mongodb如何备份
  • 服装租赁费的税率是多少
  • 已认证的增值税专用发票可以作废吗
  • 资本公积金转增股本会计处理
  • 绿化工程苗木成活率交工标准
  • 暂估成本以后也没有票回来了
  • 如何证明自己是中国人
  • 中国的法律依据是什么
  • 发生的销货退回费用应计入
  • 微信怎么帮别人代缴社保
  • 固定资产一次性扣除账务处理
  • 制单的基本要求是什么
  • mysql必知必会mobi
  • ubuntu 连不上网如何排查原因
  • ipv6文件
  • windowsxp能用pr吗
  • xp系统如何安装软件
  • linux命令sed -i
  • 电脑任务管理器磁盘100%是什么意思
  • 深度技术win10怎么样
  • centos7.7安装
  • windows网慢
  • win7系统笔记本怎么调节电脑亮度
  • Win7如何开启蓝牙
  • Win7系统如何打开摄像头
  • jquery教程chm
  • unity3d地图定位
  • 狗刨好学吗
  • 背景透明度设置
  • shell按行读取文件存入数组
  • linux系统启动进程命令
  • 百度坐标转换成WGS84坐标
  • 注释讲解
  • jquery使用教程
  • 天河地税局局长简介
  • 电子税务局改版
  • 国家税务总局 土地增值税
  • 太原市小店区电影院营业时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设