getUrl.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /**
  2. * @author oldj
  3. * @blog https://oldj.net
  4. */
  5. 'use strict'
  6. const request = require('request')
  7. const fs = require('fs')
  8. const {URL} = require('url')
  9. const version = require('../../version')
  10. //process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0'
  11. module.exports = (svr, url) => {
  12. if (url.indexOf('file:/') === 0) {
  13. //fs
  14. return new Promise((resolve, reject) => {
  15. const fileUrl = new URL(encodeURI(url))
  16. fs.stat(fileUrl, (err, stats) => {
  17. if (err) {
  18. console.log(err)
  19. reject(err)
  20. } else {
  21. if (stats.isFile()) {
  22. fs.readFile(fileUrl, (error, data) => {
  23. if (err) {
  24. console.log(err)
  25. reject(err)
  26. } else {
  27. resolve(data.toString())
  28. }
  29. })
  30. } else {
  31. reject(err)
  32. }
  33. }
  34. })
  35. })
  36. } else {
  37. //request
  38. return new Promise((resolve, reject) => {
  39. let options = {
  40. url,
  41. headers: {
  42. 'User-Agent': `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36 SwitchHosts/${version.join('.')}`
  43. },
  44. rejectUnauthorized: false
  45. }
  46. request(options, (err, res, body) => {
  47. if (err) {
  48. console.log(err)
  49. reject(err)
  50. } else {
  51. resolve(body)
  52. }
  53. })
  54. })
  55. }
  56. }