curl学习篇3:curl API简介_curl api接口

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

选项-http验证

在使用HTTP协议时,客户端有很多种方式向服务器提供验证信息。默认的 HTTP验证方法是"Basic”,它将用户名与密码以明文的方式、经Base64编码后保存在HTTP请求头中,发往服务器。当然这不太安全。
  当前版本的libcurl支持的验证方法有:basic, Digest, NTLM, Negotiate, GSS-Negotiate and SPNEGO。
    可通过CURLOPT_HTTPAUTH属性来设置具体的验证方式:
  curl_easy_setopt(easy_handle, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);
   向代理服务器发送验证信息时,可以通过CURLOPT_PROXYAUTH设置验证方式:   curl_easy_setopt(easy_handle, CURLOPT_PROXYAUTH, CURLAUTH_NTLM);
  也可同时设置多种验证方式(通过按位与),使用‘CURLAUTH_ANY‘将允许libcurl可以选择任何它所支持的验证方式。通过CURLOPT_HTTPAUTHCURLOPT_PROXYAUTH属性设置的多种验证方式,libcurl会在运行时选择一种它认为是最好的方式与服务器通信:
   curl_easy_setopt(easy_handle, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST|CURLAUTH_BASIC);
  // curl_easy_setopt(easy_handle, CURLOPT_HTTPAUTH, CURLAUTH_ANY);

curl_easy_perform()

函数原型CURLcode curl_easy_perform(struct Curl_easy *data)
  函数功能:执行前面设置的阻塞传输的外部接口。
  函数位置:easy.c
  参数:CURL的指针(句柄)
  返回值CURLcode变量:curl的状态

1.CURLE_OK								//任务完成一切都好
2.CURLE_UNSUPPORTED_PROTOCOL			//不支持的协议,由URL的头部指定
3.CURLE_COULDNT_CONNECT					//不能连接到remote 主机或者代理
4.CURLE_REMOTE_ACCESS_DENIED			//访问被拒绝
5.CURLE_HTTP_RETURNED_ERROR				//Http返回错误
6.CURLE_READ_ERROR						//读本地文件错误

NOTE
    在初始化CURL类型的指针 以及curl_easy_setop()t完成后调用. 即:完成curl_easy_setopt指定的所有选项(执行curl的各种操作),并且通过分析其返回值,可以判断curl执行的情况。

curl_easy_cleanup()

函数原型void curl_easy_cleanup(struct Curl_easy *data)
  函数功能:清除/释放给定简单句柄的外部接口。(结束一个会话)
  函数位置:easy.c
  参数:CURL的指针(句柄)
  返回值:无
  NOTE
    与curl_easy_init配合着用.

curl_global_cleanup()

函数原型void curl_global_cleanup(void)
  函数功能:全局清理curl,使用“init_flags”的值来确定哪些需要清理,哪些不需要。【init_flags为easy.c中的全局变量】
  函数位置:easy.c
  参数:无
  返回值:无


curl_version()

函数原型char *curl_version(void)
  函数功能: 返回libcurl库的版本的字符串。
  函数位置:version.c
  参数:无
  返回值:版本字符串

curl_easy_getinfo()

函数原型CURLcode curl_easy_getinfo(struct Curl_easy *data, CURLINFO info, ...)
  函数功能:外部接口,允许应用程序从执行的传输和类似操作中检索信息。
  函数位置:easy.c
  参数
    1.struct Curl_easy:CURL的指针(句柄)
    2.选项:URLINFO_RESPONSE_CODE:获得http返回的状态码,如400,200。
    
  返回值CURLcode变量:curl的状态
  NOTE

curl_getate()

函数原型
  函数功能:将日期字符串转换为Time_t
  函数位置
  参数
  返回值
  NOTE

curl_easegetinfo()

函数原型
  函数功能:获取有关已执行的传输的信息
  函数位置
  参数
  返回值
  NOTE

curl_formadd()

函数原型
  函数功能:帮助构建HTTP表单POST
  函数位置
  参数
  返回值
  NOTE

curl_formfree()

函数原型
  函数功能:释放一个用卷曲形
  函数位置
  参数
  返回值
  NOTE

curl_slist_append()

函数原型
  函数功能:构建链接列表
  函数位置
  参数
  返回值
  NOTE

curl_slist_free_all()

函数原型
  函数功能:释放整个卷曲列表
  函数位置
  参数
  返回值
  NOTE

curl_url_set()

函数原型
  函数功能:解析URL
  函数位置
  参数
  返回值
  NOTE

函数原型
  函数功能
  函数位置
  参数
  返回值
  NOTE

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

如果你需要这些资料,可以戳这里获取

的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!**

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

如果你需要这些资料,可以戳这里获取

  • 11
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值