It can run directly under 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 function, must have table. Insert (tab, buffer) -- the tab parameter is result. Refer to http: //luacurl .luaforge.net/ return #buffer end) local ok = c:perform() return ok, table. Concat (result) -- this table is not the previous table, and the scope is different end function downMp3( id ) local url= "http://www.ximalaya.com/tracks/" .. id .. ".json" 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( "Please enter number" ) end |