【Curl (libcurl) 开发 之一】Cocos2dx之libcurl(curl_easy)的编程教程(帮助手册)!

本站文章均为 李华明Himi 原创,转载务必在明显处注明:
转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/curl-libcurl/878.html

          ☞ 点击订阅 ☜
 本博客最新动态!及时将最新博文通知您!

     注意:如果你的服务器是Java的,那么要注意数据之间的大端小端的处理;否则无法正常获取正确的数据!

本篇介绍使用libcurl编程的一般原则和一些基本方法。本文主要是介绍 c 语言的调用接口,同时也可能很好的适用于其他类 c 语言的接口。

平台的可移植代码

libcurl库背后的开发人员投入了相当大的努力确保libcurl可以在很多不同的系统和环境里工作。

全局的准备

程序必须初始化一些libcurl的全局函数。这意味着不管你准备使用libcurl多少次,你都应该,且只初始化一次。当你的程序开始的时候,使用

curl_global_init()

这个函数需要一个参数来告诉它如何来初始化。使用CURL_GLOBAL_ALL ,它将用通常是比较好的默认参数来初始化所有已知的内部子模块。还有两个可选值:

CURL_GLOBAL_WIN32

这个参数只被用在windows 操作系统上。它让libcurl初始化win32套接字的的东西。没有正确的初始化,你的程序将不能正确的使用套接字。你应该只为每个程序做一次这样的操作,如果你的程序的其他库这样了,你就不要再让libcurl这样做。

CURL_GLOBAL_SSL

这个参数会使libcurl具有SSL的能力。你应该只为每个程序做一次这样的操作,如果你的程序的其他库这样了,你就不要再让libcurl这样做。

libcurl有个默认的保护机制,检测如果curl_global_init没有在curl_easy_perform之前被调用,那么libcurl会猜测该使用的初始化模式来执行程序。请注意,依靠默认的保护机制来这么做一点都不好。

当程序不再使用libcurl,请调用curl_global_cleanup函数来对应初始化函数所做的工作,它会做逆向的工作来清理curl_global_init所初始化的资源。

请避免重复的调用curl_global_init和 curl_global_cleanup。他们每个仅被调用一次。

libcurl所支持的功能

确定libcurl所提供功能的最佳办法是在运行的时候而不是在编译的时候。通过调用curl_version_info函数,然后查看返回信息的结构体,你知道当前的libcurl版本所支持的功能了。

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值