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%...NF%2Ffile.html
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.Code: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)
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![]()




Zitieren
THEMENSTARTER
