mirror of
https://github.com/iptv-org/epg
synced 2025-12-18 03:16:53 -05:00
Merge pull request #2898 from iptv-org/be-tvpassport-fix
tvpassport.com : dynamic cookie handling
This commit is contained in:
@@ -19,10 +19,12 @@ module.exports = {
|
|||||||
'YYYY-MM-DD'
|
'YYYY-MM-DD'
|
||||||
)}`
|
)}`
|
||||||
},
|
},
|
||||||
request: {
|
async request() {
|
||||||
timeout: 30000,
|
return {
|
||||||
headers: {
|
timeout: 30000,
|
||||||
Cookie: 'cisession=e49ff13191d6875887193cae9e324b44ef85768d;'
|
headers: {
|
||||||
|
Cookie: await getCookie()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
parser: function ({ content }) {
|
parser: function ({ content }) {
|
||||||
@@ -106,6 +108,14 @@ module.exports = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function getCookie() {
|
||||||
|
const res = await axios.get('https://www.tvpassport.com/tv-listings')
|
||||||
|
const setCookie = res.headers['set-cookie']
|
||||||
|
if (!setCookie || setCookie.length === 0) return ''
|
||||||
|
const cookies = setCookie.map(cookie => cookie.split(';')[0])
|
||||||
|
return cookies.join('; ')
|
||||||
|
}
|
||||||
|
|
||||||
function parseDescription($item) {
|
function parseDescription($item) {
|
||||||
return $item('*').data('description')
|
return $item('*').data('description')
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const { parser, url, request } = require('./tvpassport.com.config.js')
|
const { parser, url } = require('./tvpassport.com.config.js')
|
||||||
const fs = require('fs')
|
const fs = require('fs')
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const dayjs = require('dayjs')
|
const dayjs = require('dayjs')
|
||||||
@@ -19,12 +19,6 @@ it('can generate valid url', () => {
|
|||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
it('can generate valid request headers', () => {
|
|
||||||
expect(request.headers).toMatchObject({
|
|
||||||
Cookie: 'cisession=e49ff13191d6875887193cae9e324b44ef85768d;'
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
it('can parse response', () => {
|
it('can parse response', () => {
|
||||||
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.html'))
|
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.html'))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user