test.lua 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. local webclientlib = require 'webclient'
  2. local webclient = webclientlib.create()
  3. local urls = {
  4. "http://dldir1.qq.com/invc/cyclone/QQDownload_Setup_48_773_400.exe",
  5. "http://dldir1.qq.com/qqyy/pc/QQPlayer_Setup_39_934.exe",
  6. "http://dldir1.qq.com/qqtv/qqpc/TencentVideo9.12.1291.0.exe",
  7. "http://www.foxmail.com/win/download",
  8. "http://dldir1.qq.com/music/clntupate/QQMusicForYQQ.exe",
  9. }
  10. local requests = {};
  11. for i, v in ipairs(urls) do
  12. local req, key = webclient:request(v)
  13. assert(req)
  14. assert(key)
  15. requests[key] = {req, v}
  16. webclient:set_httpheader(req, "User-Agent: dpull", [[If-None-Match:"573dff7cd86a737f0fd9ecc862aed14f"]])
  17. if i == 1 then
  18. webclient:debug(req, true)
  19. end
  20. end
  21. while next(requests) do
  22. local finish_key = webclient:query()
  23. if finish_key then
  24. assert(requests[finish_key])
  25. local req, url = table.unpack(requests[finish_key])
  26. local content, errmsg = webclient:get_respond(req)
  27. local info = webclient:get_info(req)
  28. print(url, #content, errmsg, info.ip, info.port, info.content_length, info.response_code)
  29. webclient:remove_request(req)
  30. requests[finish_key] = nil
  31. end
  32. end
  33. print("test webclient finish!")