mirror of
https://github.com/NeteaseCloudMusicApiEnhanced/api-enhanced.git
synced 2025-10-23 07:33:10 +00:00
feat: cookie添加部分字段
This commit is contained in:
parent
18c9ebe51e
commit
9d3828b3c1
@ -14,10 +14,27 @@ const anonymous_token = fs.readFileSync(
|
||||
'utf-8',
|
||||
)
|
||||
const { URLSearchParams, URL } = require('url')
|
||||
const iosAppVersion = '9.0.65'
|
||||
const { APP_CONF } = require('../util/config.json')
|
||||
// request.debug = true // 开启可看到更详细信息
|
||||
|
||||
const osMap = {
|
||||
pc: {
|
||||
os: 'pc',
|
||||
appver: '3.0.18.203152',
|
||||
osver: 'Microsoft-Windows-10-Professional-build-22631-64bit',
|
||||
},
|
||||
android: {
|
||||
os: 'android',
|
||||
appver: '8.20.20.231215173437',
|
||||
osver: '14',
|
||||
},
|
||||
iphone: {
|
||||
os: 'iOS',
|
||||
appver: '9.0.90',
|
||||
osver: '16.2',
|
||||
},
|
||||
}
|
||||
|
||||
const chooseUserAgent = (crypto, uaType = 'pc') => {
|
||||
const userAgentMap = {
|
||||
weapi: {
|
||||
@ -27,13 +44,13 @@ const chooseUserAgent = (crypto, uaType = 'pc') => {
|
||||
pc: 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36 Chrome/91.0.4472.164 NeteaseMusicDesktop/3.0.18.203152',
|
||||
android:
|
||||
'NeteaseMusic/9.1.65.240927161425(9001065);Dalvik/2.1.0 (Linux; U; Android 14; 23013RK75C Build/UKQ1.230804.001)',
|
||||
ios: 'NeteaseMusic 9.0.90/5038 (iPhone; iOS 16.2; zh_CN)',
|
||||
iphone: 'NeteaseMusic 9.0.90/5038 (iPhone; iOS 16.2; zh_CN)',
|
||||
},
|
||||
}
|
||||
return userAgentMap[crypto][uaType] || ''
|
||||
}
|
||||
const createRequest = (uri, data, options) => {
|
||||
const cookie = options.cookie || {}
|
||||
let cookie = options.cookie || {}
|
||||
return new Promise((resolve, reject) => {
|
||||
options.headers = options.headers || {}
|
||||
let headers = options.headers
|
||||
@ -44,31 +61,34 @@ const createRequest = (uri, data, options) => {
|
||||
headers['X-Forwarded-For'] = ip
|
||||
}
|
||||
// headers['X-Real-IP'] = '118.88.88.88'
|
||||
if (typeof options.cookie === 'object') {
|
||||
options.cookie = {
|
||||
...options.cookie,
|
||||
__remember_me: true,
|
||||
if (typeof cookie === 'object') {
|
||||
let _ntes_nuid = CryptoJS.lib.WordArray.random(32).toString()
|
||||
let os = osMap[cookie.os] || osMap['pc']
|
||||
cookie = {
|
||||
...cookie,
|
||||
__remember_me: 'true',
|
||||
// NMTID: CryptoJS.lib.WordArray.random(16).toString(),
|
||||
_ntes_nuid: CryptoJS.lib.WordArray.random(16).toString(),
|
||||
ntes_kaola_ad: '1',
|
||||
_ntes_nuid: _ntes_nuid,
|
||||
_ntes_nnid: `${_ntes_nuid},${Date.now().toString()}`,
|
||||
|
||||
osver: cookie.osver || os.osver,
|
||||
deviceId: cookie.deviceId || global.deviceId,
|
||||
os: cookie.os || os.os,
|
||||
channel: cookie.channel || 'netease',
|
||||
appver: cookie.appver || os.appver,
|
||||
}
|
||||
if (uri.indexOf('login') === -1) {
|
||||
options.cookie['NMTID'] = CryptoJS.lib.WordArray.random(16).toString()
|
||||
cookie['NMTID'] = CryptoJS.lib.WordArray.random(16).toString()
|
||||
}
|
||||
if (!options.cookie.MUSIC_U) {
|
||||
if (!cookie.MUSIC_U) {
|
||||
// 游客
|
||||
if (!options.cookie.MUSIC_A) {
|
||||
options.cookie.MUSIC_A = anonymous_token
|
||||
if (!cookie.MUSIC_A) {
|
||||
cookie.MUSIC_A = anonymous_token
|
||||
}
|
||||
}
|
||||
headers['Cookie'] = cookieObjToString(options.cookie)
|
||||
} else if (options.cookie) {
|
||||
// cookie string
|
||||
headers['Cookie'] = options.cookie
|
||||
} else {
|
||||
const cookie = cookieToJson('__remember_me=true; NMTID=xxx')
|
||||
headers['Cookie'] = cookieObjToString(cookie)
|
||||
}
|
||||
// console.log(options.cookie, headers['Cookie'])
|
||||
|
||||
let url = '',
|
||||
encryptData = '',
|
||||
@ -108,18 +128,17 @@ const createRequest = (uri, data, options) => {
|
||||
case 'eapi':
|
||||
case 'api':
|
||||
// 两种加密方式,都应生成客户端的cookie
|
||||
const cookie = options.cookie || {}
|
||||
const header = {
|
||||
osver: cookie.osver || '17.4.1', //系统版本
|
||||
deviceId: cookie.deviceId || global.deviceId,
|
||||
os: cookie.os || 'ios',
|
||||
appver: cookie.appver || (cookie.os != 'pc' ? iosAppVersion : ''), // app版本
|
||||
osver: cookie.osver, //系统版本
|
||||
deviceId: cookie.deviceId,
|
||||
os: cookie.os,
|
||||
appver: cookie.appver, // app版本
|
||||
versioncode: cookie.versioncode || '140', //版本号
|
||||
mobilename: cookie.mobilename || '', //设备model
|
||||
buildver: cookie.buildver || Date.now().toString().substr(0, 10),
|
||||
resolution: cookie.resolution || '1920x1080', //设备分辨率
|
||||
__csrf: csrfToken,
|
||||
channel: cookie.channel || 'netease',
|
||||
channel: cookie.channel,
|
||||
requestId: `${Date.now()}_${Math.floor(Math.random() * 1000)
|
||||
.toString()
|
||||
.padStart(4, '0')}`,
|
||||
|
Loading…
x
Reference in New Issue
Block a user