Merge pull request #2898 from iptv-org/be-tvpassport-fix

tvpassport.com : dynamic cookie handling
This commit is contained in:
Alstruit
2025-11-01 13:08:28 -05:00
committed by GitHub
2 changed files with 15 additions and 11 deletions

View File

@@ -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')
}

View File

@@ -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'))