util.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. 'X-Real-IP': '127.0.0.1',
  17. 'x-from-src': '127.0.0.1'
  18. }
  19. }
  20. // const requestServer = (config) => {
  21. // options['uri'] = `http://music.163.com${config.path}`
  22. // options['form'] = encrypt(config.params)
  23. // return new Promise((resolve, reject) => {
  24. // request(options, (err, ret, body) => {
  25. // if (!err && ret.statusCode === 200) {
  26. // resolve(JSON.parse(body))
  27. // } else {
  28. // reject(err)
  29. // }
  30. // })
  31. // })
  32. // }
  33. const requestServer = (config) => {
  34. return new Promise((resolve, reject) => {
  35. superagent
  36. .post(`http://music.163.com${config.path}`)
  37. .set(options.headers)
  38. .send(encrypt(config.params))
  39. .end((err, res) => {
  40. if (err || !res.ok) {
  41. reject(err)
  42. } else {
  43. let ret = res.text || res.body
  44. if (typeof ret === 'object')
  45. resolve(ret)
  46. else {
  47. resolve(JSON.parse(ret))
  48. }
  49. }
  50. })
  51. })
  52. }
  53. module.exports = {
  54. requestServer
  55. }