JavaScript - Novato. Auto Login web

 
Vista:
sin imagen de perfil

Novato. Auto Login web

Publicado por David (1 intervención) el 20/01/2017 10:57:26
Buenas a todos y gracias por el esfuerzo que haceis a la comunidad.
Tengo un problema y no se como resolverlo. Actualmente dispongo de una app diseñada para un reproductor de contenidos online que esta basado en Javascirpt tipo androidtv pero en este caso esta basado en java y nada que ver con android ni kodi.
Hasta ahora los archivos los recolectaba desde una web llamada copiapop.com pero en las ultimas semanas dicha web cambio y ahora antes de poder descargar algun archivo pide logear para poder descargar.
En python se consiguio aplicando el siguiente codigo. Pero no se llevarmelo a javascript para que me funcione igual.
Intente insertando cookies del navegador pero no responde asi que supongo que debe de ser algo similar al codigo que muestro abajo.
Si alguien pude rescribir el codigo en javascript estaria eternamente agradecido.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
[--Codigo Python --]
 
<expres><![CDATA[#$pyFunction
import re , requests ,json
def GetLSProData(page_data,Cookie_Jar,m):
 
 ref = 'http://copiapop.com/'
 url='http://copiapop.com[makelist.param1]'
 headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux i686; rv:42.0) Gecko/20100101 Firefox/42.0 Iceweasel/42.0', 'Referer': ref ,
            'X-Requested-With' : 'XMLHttpRequest' , 'Accept' : '*/*'}
 session = requests.Session()
 r = session.get(url, headers=headers)
 rv1 = r.cookies
 
 vfile , vtoken = re.findall('action/DownloadFile.*?fileId.*?value="(.*?)".*?Token".*?value="(.*?)"', r.text)[0]
 data_a ={'fileId': vfile , '__RequestVerificationToken': vtoken}
 nr = requests.post('http://copiapop.com/action/DownloadFile?location=fi&f=%s'%vfile , headers=headers,cookies=rv1 , data=data_a).text
 nrj=json.loads(nr)
 nr = nrj['Content']
 r2 = re.findall(r'(?s)value=\"(.*?)\"', nr)[0]
 data_a ={'__RequestVerificationToken': r2 , 'Username': 'xxxxxxx' , 'Password' : 'xxxxxxx'}
 nr1 = requests.post('http://copiapop.com/action/Account/Login', headers=headers,cookies = rv1 , data=data_a)
 print nr1.headers['Set-Cookie']
 rasp = re.findall('ASPXAUTH_v2=(.*?);', nr1.headers['Set-Cookie'])[0]
 rv1['.ASPXAUTH_v2'] = rasp
 data_a ={'fileId': vfile , '__RequestVerificationToken': vtoken}
 nr3 = requests.post('http://copiapop.com/action/DownloadFile?location=fi&f=%s'%vfile , headers=headers, cookies = rv1 , data=data_a).text
 r3 = re.findall('DownloadUrl":"(.*?)"', nr3)[0]
 print r3
 return r3
]]></expres>

Aqui expongo el codigo que empleo para poder hacerlo funcionar hasta ahora pero ya no funciona por el problema.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
var seccion2 = {
	name : 'seccion2',
	data : null,
	max_screen : 15,
	data_hints : {
		url : 'http://copiapop.com/JOE221277/tutankamon-tut-m720p-msf-59740/list,1,1',
		links : /<a href="([^"]+)" data-action-before="preview">[^<]+<\/a>/g,
		names : /<a href="[^"]+" data-action-before="preview">([^<]+)<\/a>/g,
		

		formatter : function(data) {
                if (!data) return;
                for (var i = 0; i < data.url.length; i++) {
                        data.url[i] = data.url[i].replace(/</g, '/list,1,100');
                }
        },

	},
	type : 'lista_url',
	options : {
		base_url : 'http://copiapop.com',
		direct_play : true,
		stream : false,

	},
	navigation : {
		play : true,
		next : 'play',
		prev : 'seccion1',
	},
};
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder