====== Curl ======
Curl 包为 Covariant Script 提供了底层网络功能支持。
目录:
* [[:manual:reference:package:extend:curl:main_page#下载方式|下载方式]]
* [[:manual:reference:package:extend:curl:main_page#简介|简介]]
* [[:manual:reference:package:extend:curl:main_page#快速开始|快速开始]]
* [[:manual:reference:package:extend:curl:main_page#Curl 命名空间一览|Curl 命名空间一览]]
* [[:manual:reference:package:extend:curl:main_page#详细文档目录|详细文档目录]]
-----
\\
===== 下载方式 =====
==== 通过 cspkg 下载 ====
在 shell 中使用 **cspkg** 工具,并使用以下指令
下载 Curl 包
cspkg install curl
-----
\\
===== 简介 =====
**Curl** 扩展包为 CovScript 提供了客户端的 Url 传输功能。\\
**Curl** 扩展包由 C 语言库 ''libcurl'' 通过 CNI 技术迁移而来。虽然其中大部分逻辑得到简化,但过程式设计思想和 API 接口的用法基本尊重了 ''libcurl'' 原库的设计。\\
如果您使用过 ''libcurl'',那么本扩展包对您而言也就不陌生。
-----
\\
===== 快速开始 =====
import curl
function http_get(url)
var buff = new iostream.char_buff
var my_session= curl.make_session_os(buff.get_ostream())
my_session.set_url(url)
my_session.allow_redirect(true)
# 可以通过 set_proxy 方法设置 HTTP 代理
# my_session.set_proxy(config.content.proxy)
# 关闭 SSL 验证以支持 HTTPS,严谨来说不够安全
my_session.set_ssl_verify_host(false)
my_session.set_ssl_verify_peer(false)
# 执行 cURL 请求并返回结果
if my_session.perform()
return buff.get_string()
else
return null
end
end
system.out.println(http_get("http://mirrors.covariant.cn/cspkg/index.json"))
[[http://dev.covariant.cn/index.html?page=manual:reference:package:extend:curl:code_0|在线查看效果]]
典型的结构由一个配置好的 **session** 对象和''if my_session.perform()'' ''end''构成。
-----
\\
===== Curl 命名空间一览 =====
^命名空间 ^描述 ^
|''ssl_level'' |[[manual:reference:package:extend:curl:ssl:main_page|SSL 设置命名空间]] |
|''session'' |[[manual:reference:package:extend:curl:session:main_page|Curl 会话命名空间]] |
-----
\\
===== 详细文档目录 =====
* [[:manual:reference:package:extend:curl:session:main_page|Curl 会话]]
* [[:manual:reference:package:extend:curl:ssl:main_page|SSL 设置]]
-----
\\