util.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. const encrypt = require('./encrypt');
  2. const request = require('request');
  3. const superagent = require('superagent');
  4. const qs = require('querystring');
  5. let options = {
  6. method: 'POST',
  7. headers: {
  8. 'Accept': '*/*',
  9. 'Accept-Language': 'zh-CN,zh;q=0.8,gl;q=0.6,zh-TW;q=0.4',
  10. 'Connection': 'keep-alive',
  11. 'Content-Type': 'application/x-www-form-urlencoded',
  12. 'Referer': 'http://music.163.com',
  13. 'Host': 'music.163.com',
  14. 'Cookie': 'appver=2.0.2;',
  15. 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36',
  16. }
  17. }
  18. // const requestServer = (config) => {
  19. // options['uri'] = `http://music.163.com${config.path}`
  20. // options['form'] = encrypt(config.params)
  21. // return new Promise((resolve, reject) => {
  22. // request(options, (err, ret, body) => {
  23. // if (!err && ret.statusCode === 200) {
  24. // resolve(JSON.parse(body))
  25. // } else {
  26. // reject(err)
  27. // }
  28. // })
  29. // })
  30. // }
  31. const requestServer = (config) => {
  32. //console.log(config)
  33. return new Promise((resolve, reject) => {
  34. superagent
  35. .post(`http://music.163.com${config.path}`)
  36. .set(options.headers)
  37. .send(encrypt(config.params))
  38. .end((err, res) => {
  39. if (err || !res.ok) {
  40. reject(err)
  41. } else {
  42. let ret = res.text || res.body
  43. if (typeof ret === 'object')
  44. resolve(ret)
  45. else {
  46. resolve(JSON.parse(ret))
  47. }
  48. }
  49. })
  50. })
  51. }
  52. module.exports = {
  53. requestServer
  54. }