在Linux下可以直接运行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#!/usr/bin/lua5.1 --需要luacurl http: //luacurl .luaforge.net/ --luajson https: //github .com /mbalmer/luajson require( "luacurl" ) require( 'json' ) function get_html(url, c) local result = { } if c == nil then c = curl.new() end c:setopt(curl.OPT_URL, url) c:setopt(curl.OPT_WRITEDATA, result) c:setopt(curl.OPT_WRITEFUNCTION, function (tab, buffer) --call back函数,必须有 table.insert(tab, buffer) --tab参数即为result,参考http: //luacurl .luaforge.net/ return #buffer end) local ok = c:perform() return ok, table.concat(result) --此table非上一个table,作用域不同 end function downMp3( id ) local url= "http://www.ximalaya.com/tracks/" .. id .. ".json" local mp3 = "http://fdfs.xmcdn.com/" local ok,html = get_html(url) if ok then local result = json.decode(html) print(mp3..result.play_path_64) else print( "error" ) end end if arg[1] and tonumber(arg[1]) then downMp3(arg[1]) else print( "请输入编号" ) end |