aardio 文档

aardio 范例: 调用 cURL 命令

CURL 错误代码 | web.rest 入门指南 | inet.http 入门指南 | curl 文档

//调用 curl 命令
import console; 

/*
在 aardio 中更推荐使用 web.rest 或者 inet.http ,这些基于系统自带组件体积更小,接口也更简洁。
web.rest 入门指南: https://www.aardio.com/zh-cn/doc/library-guide/std/web/rest/client.html
inet.http 入门指南: https://www.aardio.com/zh-cn/doc/library-guide/std/inet/http.html
*/

/*
process.curl 默认调用 Windows 10 1803 及之后系统自带的 curl 。
改为 import process.curl.7.81 可兼容到 XP 系统(如无特殊原因,普通程序不必要这么做)。
*/
import process.curl;

/*
curl 文档:
https://curl.se/docs/manual.html
https://curl.se/docs/manpage.html
https://quickref.me/zh-CN/docs/curl.html
*/

//下载网页,成功返回网页,失败返回 null, 错误代码,
//CURL 错误代码: https://everything.curl.dev/usingcurl/returns
var data = process.curl("https://www.aardio.com")
console.log( data );

//支持所有 curl 参数
var data = process.curl(`-X POST   
-d "{\"username\": \"jacen\", \"password\": \"123456\"}" 
-H "Content-Type: application/json" 
http://httpbin.org/anything/test `);

//返回 JSON 对象或数组时,会自动解析为 aardio 对象或数组
console.dumpJson(data)

/*
如果使用逗号分隔为多个参数,
那么 aardio 会自动合并所有参数并自动处理命令行转义。
合并多个参数会自动以空格分隔。
*/
var data = process.curl("-X","POST",   
    "-d",'{"username": "jacen", "password": "123456"}',
    "-H","Content-Type: application/json", 
    "http://httpbin.org/anything/test",
)
console.dumpJson(data)

/*
也可以用一个数组或表指定任意个数参数,支持命名参数。
注意数组参数总是会被移到命名参数后面。
所有基于 process 或 process.popen 的对象都支持上述这几种命令行参数写法
*/
var data = process.curl({
    "-X"="POST",   
    "-d"='{"username": "jacen", "password": "123456"}',
    "-H"="Content-Type: application/json", 
    "http://httpbin.org/anything/test"
})
console.dumpJson(data)

//--json 如果直接指定表对象,aardio 会自动转换为 json 文本。
var data = process.curl({ 
    "--json" = {
        username = "jacen";
        password = "123456";
    }
    "http://httpbin.org/anything/test"
})
console.dumpJson(data)

//-d 如果直接指定表对象,aardio 会自动转换为字符串,并自动处理 URL 编码。
var data = process.curl({ 
    "-d" = {
        username = "jacen";
        password = "123456";
    }
    "http://httpbin.org/anything/test"
})
console.dumpJson(data)
console.pause(true);

Markdown 格式