位置: 编程技术 - 正文

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

  • 商贸企业辅导期是什么
  • 房产证,契税
  • 房地产中介门头
  • 企业购房产的进项税税额
  • 权益筹资额计算公式
  • 小企业会计准则适用于哪些企业
  • 有哪些扣除项目可以抵扣
  • 什么税不计入税金及附加科目
  • 五证合一流程
  • 财务人士必知消防知识
  • 预付账款年底账务怎么做账?
  • 从外面买回来的菜怎么消毒
  • 企业因购买材料开出的商业汇票属于什么会计科目
  • 企业所得税怎么征收
  • 银行现金解款单回单怎么填
  • 自然灾害造成库存商品毁损
  • 地质灾害评估费收费标准
  • 货运代理公司可以开运输费发票吗
  • 增值税专用发票开错了咋办
  • 企业所得税核定征收怎么计算
  • 个体工商户开票金额超过核定了咋办
  • 公司股票卖出会计处理
  • 机械租赁费如何入账科目
  • 股权并购和资产的关系
  • 插上U盘电脑无法启动怎么回事
  • 苹果手机电池低于多少需要更换
  • 客户收集软件
  • 以前年度损益调整借贷方向
  • 外销收入申报表怎么填
  • 入门易学
  • 怎么开通公众号微信公众平台
  • 蒙特勒和日内瓦的关系
  • 非居民纳税人可以做汇算清缴吗
  • 废钢收购无进项怎么处理
  • vue-plugin-hiprint vue hiprint vue使用hiprint打印控件VUE HiPrint HiPrint简单使用
  • 使用jquery的好处
  • 企业处置固定资产发生的净损失应计入
  • 取得企业债券利息
  • dedecms标签怎么用
  • 高新企业奖励怎么领取
  • sqlserver 15247
  • 土地交易服务费由哪个部门收取
  • 公司注销清算时个人股东如何计算个人所得税
  • 年初未分配利润借方增加还是减少
  • 起征点与免征额的联系
  • 暂估入库成本的会计分录
  • 顺流交易为什么不考虑出售比例
  • 购入土地使用权的,以评估价格为计税依据
  • 开了假发票什么后果?
  • 资固定资产清理
  • 什么情形不属于共同犯罪
  • 没有什么费用
  • sql sever使用教程
  • mssql in
  • window8.1蓝屏
  • 扫清落叶堆怎么扫
  • 虚拟机vmx
  • mac如何切换界面 快捷键
  • Oracle VM Virtual中CentOS自动获取IP地址设置方法
  • win8系统切换桌面
  • windows 命令行 ftp
  • fciv.exe
  • win10周年版
  • win70
  • win8应用商店停止服务
  • rsync安装使用详解
  • ercp后淀粉酶为什么升高
  • pygal python
  • jquery layer
  • jquery中ajax跨域方法实例分析
  • jquery get(0)
  • python3 flask
  • jquery插件使用
  • 中央与地方增值税
  • 广州车辆购置税官网
  • 四川省一般纳税人资格证明
  • 无偿划转暂行规定
  • 汽车维修增值税专用发票
  • 开采砂石
  • 发票开具显示获取纳税人基础信息失败,请退出?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设