[English README] [中文说明]
CXXUrl 是基于libcurl的c++库,但它不仅仅只是一个curl的面向对象的c++封装
最新版本的CXXUrl将只包含头文件
如果你想了解更多关于curl的信息,访问 http://curl.haxx.se/
Under MIT LICENSE
作者:xiaozhuai - xiaozhuai7@gmail.com
使用cmake构建项目
$ cd /path/to/cxxurl
$ mkdir build
$ cd build
$ cmake ..
$ make
$ make check # 运行测试用例
构建完成后,你就可以运行一些示例了
$ ../example_server/start_server # 为运行示例开启一个http服务, 需要 php > 5.6
$ ./example_get
直接将 src/cxxurl
中的文件复制到你需要的地方!
你可以在example目录下找到所有例子的源码
要发起一个get请求并获取输出,这是所有你需要做的事情
至于解析body,我们提供了一个json解析器
See examples/example_parse_json_body.cpp
感谢 https://github.com/nlohmann/json
你可以简单的将 contentOutput
改为一个 ofstream
类的实例就可以完成下载的功能.
See examples/example_download.cpp
如果你需要响应头的输出
See examples/example_response_header.cpp
当然,我们还提供了一个解析器
See examples/example_parse_response_header.cpp
发起一个post请求或许比get要复杂一些,但仍然是一件非常简单的事情
CXXUrl 提供了三者form类型 SimpleForm
, MultipartForm
和 RawRequestBody
.
See examples/example_get_https_enable.cpp
对于某些网站,你也可以关闭ssl验证,像这样 .verifySSL(false)
See examples/example_get_https_disable.cpp
设置Request Headers用法类似于form
See examples/example_set_request_header.cpp
对于一些常用的header, 例如userAgent、 referer等,你可以通过这些方法设置 .userAgent(...)
, .referer(...)
再来说说cookie
假设一种情景,我们需要登录一个网站,把登录成功的cookie保存到一个文件,然后下次访问的时候带上这个cookie
See examples/example_cookie.cpp
如果你想要使用原生的CURL选项
See examples/example_use_curl_option.cpp
这个例子和第一个例子(get)是完全等效的,
不同之处是使用了 .curlOptionString(CURLOPT_URL, "http://xiaozhuai.github.io")
来替代 .url("http://xiaozhuai.github.io")
RequestBuilder正如它的名字,仅仅是个builder,它只是为了简化代码,你完全可以不使用它
See examples/example_without_request_builder.cpp
那么你喜欢哪种方式呢?
感谢cURL
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型