PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : (JavaScript) - Zippyshare Gateway



fsxto
01.10.2016, 17:36
Hallo Jungs,

ich habe versucht mit node.js ein Gateway zu bauen, an das ich eine Zippyshare Adresse schicke und ich die Datei zurück bekomme.

URL: http://localhost:3000/dl/http%3A%2F%2Fwww80.zippyshare.com%2Fv%2FLemLOZNF%2 Ffile.html



var express = require('express')
var app = express()


var request = require('request');
var cheerio = require('cheerio');


app.get('/', function(req, res) {
res.send('test');
});


app.get('/dl/:zippyUrl', function (req, res) {
var matches = req.params.zippyUrl.match(/www\d+\.zippyshare\.com\/v\/\S+\/file\.html/);
if(matches != null) {
downloadFile(req, res, req.params.zippyUrl);
} else {
res.send('Link is not Zippyshare :)')
}
})


function downloadFile(req, res, url) {
request.get({url: url, headers: { 'User-Agent': 'Leviathan' }, jar: true}, function(err, response, body) {
var $ = cheerio.load(body);


var i = 1;
$('script').each(function() {
if(i == 8) {
var matches = $(this).html().match(/getElementById\('lang-one'\).a.=.(\d+)/);
var key = ((matches[1]+3)*3)%1234567 + 3;
var url_parts = $(this).html().match(/\.href = \"\/d\/(.*)\/\"\+e\(\)\+\"\/(\S+)\";/);
var originalUrl_parts = url.match(/www(\d+)\.zippyshare\.com/);
var directLink = "http://www" + originalUrl_parts[1] + ".zippyshare.com/d/" + url_parts[1] + "/" + key + "/" + url_parts[2];


console.log(directLink);
console.log($(this).html());


request.get({url: directLink, headers: { 'User-Agent': 'Leviathan' }, jar: true}).pipe(res);
};
i++;
});
});
}

app.listen(3000)


Problem dabei ist leider, dass ich zwar den Link korrekt zusammen baue, aber als response vom 2ten Stream bekomme ich nur erneut die Seite der Datei.

Jemand eine Idee was das sein könnte? Cookies sind erlaubt und User-Agent ist gesetzt. Das sollte eigentlich alle Probleme beheben.

Dependencies:
request, cheerio, express

Ich verwende Node.js v5.10.1

Danke schonmal :)

syrius
01.10.2016, 18:27
URL: .....localhost....

fsxto
01.10.2016, 19:39
Natürlich localhost, ist ja auch ein auf localhost laufender webserver, der meinen zippyshare link annimmt und mir direkt die datei anbietet, ohne das ich die seite besuche.

Soll vielleicht mal nen http / https proxy werden, der filehoster links direkt runterlädt. Könnte nützlich sein ;)

~fsxto

- - - - - - - - - - Beitrag nachträglich erweitert - - - - - - - - - -

Problem gefunden, kann geschlossen werden.

Habe einen anderen Lösungsweg gewählt, daher kann ich nicht mit sicherheit sagen, wie das Problem behoben wurde, jedoch scheint es, als ob Zippyshare gucken würde, ob nur die Startseite geladen wird oder mehr.

~fsxto

The Don
01.10.2016, 19:52
Danke für die Rückmeldung, wir schließen es aber trotzdem nicht[emoji14]