优化网络请求,尝试去解决无法连接服务器的问题

This commit is contained in:
lyswhut
2021-06-16 10:23:48 +08:00
parent 66631ac105
commit 198238d4b5
13 changed files with 48 additions and 22 deletions
+3
View File
@@ -1,13 +1,16 @@
import { httpFetch } from '../../request'
import { requestMsg } from '../../message'
import { headers, timeout } from '../options'
import { getHostIp } from '../utils'
const api_test = {
getMusicUrl(songInfo, type) {
const ip = getHostIp('ts.tempmusic.tk')
const requestObj = httpFetch(`http://ts.tempmusic.tk/url/bd/${songInfo.songmid}/${type}`, {
method: 'get',
timeout,
headers,
host: ip,
family: 4,
})
requestObj.promise = requestObj.promise.then(({ body }) => {
+3
View File
@@ -1,13 +1,16 @@
import { httpFetch } from '../../request'
import { requestMsg } from '../../message'
import { headers, timeout } from '../options'
import { getHostIp } from '../utils'
const api_test = {
getMusicUrl(songInfo, type) {
const ip = getHostIp('ts.tempmusic.tk')
const requestObj = httpFetch(`http://ts.tempmusic.tk/url/kg/${songInfo._types[type].hash}/${type}`, {
method: 'get',
timeout,
headers,
host: ip,
family: 4,
})
requestObj.promise = requestObj.promise.then(({ body }) => {
+3
View File
@@ -1,12 +1,15 @@
import { httpFetch } from '../../request'
import { headers, timeout } from '../options'
import { getHostIp } from '../utils'
const api_temp = {
getMusicUrl(songInfo, type) {
const ip = getHostIp('tm.tempmusic.tk')
const requestObj = httpFetch(`http://tm.tempmusic.tk/url/kw/${songInfo.songmid}/${type}`, {
method: 'get',
headers,
timeout,
host: ip,
family: 4,
})
requestObj.promise = requestObj.promise.then(({ body }) => {
+3
View File
@@ -1,6 +1,7 @@
import { httpFetch } from '../../request'
import { requestMsg } from '../../message'
import { headers, timeout } from '../options'
import { getHostIp } from '../utils'
const api_test = {
// getMusicUrl(songInfo, type) {
@@ -15,10 +16,12 @@ const api_test = {
// return requestObj
// },
getMusicUrl(songInfo, type) {
const ip = getHostIp('ts.tempmusic.tk')
const requestObj = httpFetch(`http://ts.tempmusic.tk/url/kw/${songInfo.songmid}/${type}`, {
method: 'get',
timeout,
headers,
host: ip,
family: 4,
})
requestObj.promise = requestObj.promise.then(({ body }) => {
+3
View File
@@ -1,13 +1,16 @@
import { httpFetch } from '../../request'
import { requestMsg } from '../../message'
import { headers, timeout } from '../options'
import { getHostIp } from '../utils'
const api_test = {
getMusicUrl(songInfo, type) {
const ip = getHostIp('ts.tempmusic.tk')
const requestObj = httpFetch(`http://ts.tempmusic.tk/url/mg/${songInfo.copyrightId}/${type}`, {
method: 'get',
timeout,
headers,
host: ip,
family: 4,
})
requestObj.promise = requestObj.promise.then(({ body }) => {
+3
View File
@@ -1,13 +1,16 @@
import { httpFetch } from '../../request'
import { requestMsg } from '../../message'
import { headers, timeout } from '../options'
import { getHostIp } from '../utils'
const api_messoer = {
getMusicUrl(songInfo, type) {
const ip = getHostIp('ts.tempmusic.tk')
const requestObj = httpFetch(`http://ts.tempmusic.tk/url/tx/${songInfo.songmid}/${type}`, {
method: 'get',
timeout,
headers,
host: ip,
family: 4,
})
requestObj.promise = requestObj.promise.then(({ body }) => {
+20
View File
@@ -1,4 +1,6 @@
import crypto from 'crypto'
import dns from 'dns'
/**
* 获取音乐音质
@@ -19,3 +21,21 @@ export const getMusicType = (info, type) => {
}
export const toMD5 = str => crypto.createHash('md5').update(str).digest('hex')
const ipMap = new Map()
export const getHostIp = hostname => {
const ip = ipMap.get(hostname)
if (typeof ip === 'string') return ip
if (ip === true) return
ipMap.set(hostname, true)
// console.log(hostname)
dns.lookup(hostname, {
// family: 4,
all: false,
}, (err, address, family) => {
if (err) return console.log(err)
// console.log(address, family)
ipMap.set(hostname, address)
})
}
+3
View File
@@ -1,13 +1,16 @@
import { httpFetch } from '../../request'
import { requestMsg } from '../../message'
import { headers, timeout } from '../options'
import { getHostIp } from '../utils'
const api_test = {
getMusicUrl(songInfo, type) {
const ip = getHostIp('ts.tempmusic.tk')
const requestObj = httpFetch(`http://ts.tempmusic.tk/url/wy/${songInfo.songmid}/${type}`, {
method: 'get',
timeout,
headers,
host: ip,
family: 4,
})
requestObj.promise = requestObj.promise.then(({ body }) => {
+1
View File
@@ -21,6 +21,7 @@ const request = (url, options, callback) => {
options.json = false
}
options.response_timeout = options.timeout
console.log(options)
return needle.request(options.method || 'get', url, data, options, (err, resp, body) => {
if (!err) {
body = resp.body = resp.raw.toString()