test_gzip.lua 884 B

12345678910111213141516171819202122
  1. local function demo_http_get_gzip()
  2. -- 这里用 和风天气 的API做演示
  3. -- 这个API的响应, 总会gzip压缩过, 需要配合miniz库进行解压
  4. local code, headers, body = http.request("GET", "https://devapi.qweather.com/v7/weather/now?location=101010100&key=0e8c72015e2b4a1dbff1688ad54053de").wait()
  5. log.info("http.gzip", code)
  6. if code == 200 then
  7. local re = miniz.uncompress(body:sub(11), 0)
  8. log.info("和风天气", re)
  9. if re then
  10. local jdata = json.decode(re)
  11. log.info("jdata", jdata)
  12. if jdata then
  13. log.info("和风天气", jdata.code)
  14. if jdata.now then
  15. log.info("和风天气", "天气", jdata.now.text)
  16. log.info("和风天气", "温度", jdata.now.temp)
  17. end
  18. end
  19. end
  20. end
  21. end