mirror of
https://github.com/iptv-org/epg
synced 2025-12-16 10:26:41 -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'
|
||||
)}`
|
||||
},
|
||||
request: {
|
||||
timeout: 30000,
|
||||
headers: {
|
||||
Cookie: 'cisession=e49ff13191d6875887193cae9e324b44ef85768d;'
|
||||
async request() {
|
||||
return {
|
||||
timeout: 30000,
|
||||
headers: {
|
||||
Cookie: await getCookie()
|
||||
}
|
||||
}
|
||||
},
|
||||
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) {
|
||||
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 path = require('path')
|
||||
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', () => {
|
||||
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.html'))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user