====== 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 设置]] ----- \\