Downloads auch von Save.tv möglich?

Status
Für weitere Antworten geschlossen.

wormmuk

Benutzer
Mitglied seit
10. Apr 2008
Beiträge
11
Punkte für Reaktionen
0
Punkte
0
Hallo online-Gemeinde,

Ich nutze den Dienst des online-Videorecorders save.tv. Dieser Anbieter liefert ein Progamm, welches ist lokal auf meinem Rechner installiere und dann meine aufgezeichneten Sendungen downloaden kann. Kann ich diese Aufgabe auch mit der SN 107 ausführen?
 

Nasi

Benutzer
Mitglied seit
13. Mrz 2008
Beiträge
340
Punkte für Reaktionen
0
Punkte
16
Einfach auf der Webseite "Meine Aufnahmen" aufrufen.
Dann auf Download und dann erscheint das Fenster ,wo wiederum download steht.
Dann darauf auf "Verknüpfung kopieren und den Link in die Downloadstation kopieren.
 

wormmuk

Benutzer
Mitglied seit
10. Apr 2008
Beiträge
11
Punkte für Reaktionen
0
Punkte
0
DownloadManager Save.TV

Hallo Nasi,

danke für deinen Hinweis. Dieser Link ist aber nur für einen bestimmten Film. Also muss ich jeden Film einzeln aufrufen und den Link übertragen. Der einzige Vorteil ist dann, dass ich meinen Rechner dann abschalten kann.

Aber das ist mir eigentlich zu umständlich. Ist es auch möglich, den Downloadmanager von save.tv auf der Synologie 107 einzurichten? Da die Station ja ständig "online" ist, sollte sie im besten Fall nach der Bereitstellung eines Downloads dieses selbstständig auf die Syn107 runterladen. Das wäre toll!
 

Nasi

Benutzer
Mitglied seit
13. Mrz 2008
Beiträge
340
Punkte für Reaktionen
0
Punkte
16
Also muss ich jeden Film einzeln aufrufen und den Link übertragen
Ja ,das ist doof ,bin auch mal gespannt ob es eine andere Lösung gibt
 

mega

Benutzer
Mitglied seit
26. Feb 2008
Beiträge
1.144
Punkte für Reaktionen
2
Punkte
64
Die gibts wohl bis heute nicht??
 

geflasht

Benutzer
Mitglied seit
10. Aug 2010
Beiträge
28
Punkte für Reaktionen
0
Punkte
0
Hallo,
kann einer der aktuellen Save.tv Kunden den aktuellen Status beschreiben? Ich selber habe mal versucht mit einem Downloadmanager (PC Variante), so wie es Save.tv auch selber nun verlinkt, einen Download zu initiieren, doch bekomme ich dabei immer einen Hinweis, dass der Link falsch ist.
Ich werde mir ein NAS nun zulegen und wollte Euch bitten. Mir den aktuellen Status zu umschreiben? und netterweise eine kleine Howto zu schreiben?. Wäre klasse. Nutzt jemand schon die werbefreie Videos?

Vielen Dank!
 

mega

Benutzer
Mitglied seit
26. Feb 2008
Beiträge
1.144
Punkte für Reaktionen
2
Punkte
64
Holla, aktuell gibts nur diesen komischen Download-Manager ,der rein garnix bringt und nur zusätzlich Arbeit macht.

Man muss sich damit wie gehabt bei save.tv einloggen und dann noch zusätzlich den Link in diesen DownloadManager reinkopieren.
Nur wozu? wenn man eh alle Schritte machen muss, kann mans gleich speichern und spart einen Schritt.

Ich hab mal den Versuch angestellt, per PHP bei save.tv einzuloggen um an die Filmeliste und Links zu kommen (um dann nen Podcast-Feed draus zu machen).

Es ist aber beim Versuch geblieben....
Evtl hat hier wer richtig Ahnung, wie man Cookie-Basierte Logins in PHP simuliert? (Also mehr als nur Google bemühen, das hab ich schon versucht).
 
Zuletzt bearbeitet:

geflasht

Benutzer
Mitglied seit
10. Aug 2010
Beiträge
28
Punkte für Reaktionen
0
Punkte
0
Aber der Link ist einfügbar und vom Downloadmanager bearbeitbar?
 

mega

Benutzer
Mitglied seit
26. Feb 2008
Beiträge
1.144
Punkte für Reaktionen
2
Punkte
64
Habe ich nicht ausprobiert.
Habe den DownloadManager garnicht erst installiert. Dessen Sinnlosigkeit ergibt sich schon aus der zugehörigen Anleitung.

Es klappt aber, den Link aus dem Firefox in den IE zu kopieren und dort die Datei zu laden.
Der Link macht noch mindestens eine Weiterleitung, 301 oder 302.
 

geflasht

Benutzer
Mitglied seit
10. Aug 2010
Beiträge
28
Punkte für Reaktionen
0
Punkte
0
Hm, ich dachte es gäbe zB. für den Firefox schon Addons, die den Downloadlink in den Downloadmanager der DiskStation verarbeiten? Das wäre mein angestrebtes Ziel.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Evtl hat hier wer richtig Ahnung, wie man Cookie-Basierte Logins in PHP simuliert? (Also mehr als nur Google bemühen, das hab ich schon versucht).
Du meinst jemanden, der dir fertigen Code liefert? ;)
Stichworte für php wäre z.B. curl, fsockopen & Co
Alternativ könntest du via Shell etwas mit wget (kann auch Cookies) machen. Wobei wget dann super ist wenn sich das Ganze via GET Parameter steuern lässt. Oder auch der lynx Browser, den es via ipkg für die DS gibt, liesse sich dafür einsetzen (hat etliche Optionen für die Kommandozeile auch post-Daten für einen Login lassen sich übergeben)
 

mega

Benutzer
Mitglied seit
26. Feb 2008
Beiträge
1.144
Punkte für Reaktionen
2
Punkte
64
Du meinst jemanden, der dir fertigen Code liefert? ;)
Klar :p

Ne, es würde schon ein Beispielcode reichen, der per Post nen Login durchführt, den Cookie empfängt
und es danach ermöglicht, ne andere Seite abzurufen.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Ne, es würde schon ein Beispielcode reichen, der per Post nen Login durchführt, den Cookie empfängt
und es danach ermöglicht, ne andere Seite abzurufen.
Das PHP Manual ist voll von Beispielcodes. Gerade bei fsockopen sind alle Möglichkeiten erwähnt POST und GET Requests auszuführen.
Der Cookie ist nichts weiter als ein Textstring der an den Browser (php) übermittelt wird. Den kannst du einfach auslesen und beim folgenden Request (POST oder GET) an den Server zurückübermitteln
 

mega

Benutzer
Mitglied seit
26. Feb 2008
Beiträge
1.144
Punkte für Reaktionen
2
Punkte
64
Wirklich schade, das sonst niemand an einer solchen Lösung interessiert ist...

Jedenfalls habe ich die Beispiele aus fsockopen probiert, es klappt nicht.
Save.tv erkennt den Login/Cookie nicht und gibt immer nen 302 zur Login-Seite.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Wirklich schade, das sonst niemand an einer solchen Lösung interessiert ist...

Jedenfalls habe ich die Beispiele aus fsockopen probiert, es klappt nicht.
Save.tv erkennt den Login/Cookie nicht und gibt immer nen 302 zur Login-Seite.
Dann zeig doch mal deinen Quellcode, dann kann man dir bestimmt weiterhelfen :)
 

mega

Benutzer
Mitglied seit
26. Feb 2008
Beiträge
1.144
Punkte für Reaktionen
2
Punkte
64
Jahre später, aber hier ist der bisherige Versuch 5:
Rich (BBCode):
<?php

//submit login form: (url, post data, extra headers (optional))
//do not put  http into URL, just domain name
$mycookies = GetCookies("www.save.tv/STV/M/Index.cfm?sk=PREMIUM","DL=&sUsername=USERNAME&sPassword=PASSWORD&bAutoLoginActivate=1","");
//some extra params if you need them
 echo "Cookies:<br><pre>\n".$mycookies."\n</pre>";
$body =PostPage("www.save.tv/STV/M/obj/user/usShowVideoArchive.cfm","action=zzz",$mycookies);
echo "<br>Body:<br>\n".$body."\n";
//im using get page - so it goes like this:
die();
$opts = array('http'=>array('method'=>"GET", 'header'=>"Accept-language: en\r\nCookie: ".$mycookies."\r\n" ));
$context = stream_context_create($opts);
$fp = fopen('http://www.save.tv/STV/M/obj/user/usShowVideoArchive.cfm?', 'r', false, $context);
fpassthru($fp);
$html = fread($fp, 1000000);
fclose($fp);
echo $html;

function PostPage($host,$query,$others=''){
   $path=explode('/',$host);
   $host=$path[0];
   unset($path[0]);
   $path='/'.(implode('/',$path));
$post="POST $path HTTP/1.1\r\nHost: $host\r\n";
$post.="Content-type: application/x-www-form-";
$post.="urlencoded\r\n${others}";
$post.="User-Agent: Mozilla 4.0\r\nContent-length: ";
$post.=strlen($query)."\r\nConnection: close\r\n\r\n$query";
   $h=fsockopen($host,80);
   fwrite($h,$post);
   for($a=0,$r='';!$a;){
       $b=fread($h,8192);
       $r.=$b;
       $a=(($b=='')?1:0);
   }
   fclose($h);
   return $r;
}
function GetCookies($host,$query,$others=''){
   $path=explode('/',$host);
   $host=$path[0];
   unset($path[0]);
   $crlf = "\r\n";
   $path='/'.(implode('/',$path));
   $post="POST $path HTTP/1.1\r\nHost: $host\r\n";
$post.="Content-type: application/x-www-form-urlencoded\r\n${others}";
$post.="User-Agent: Mozilla 4.0\r\nContent-length: ";
$post.=strlen($query)."\r\nConnection: close\r\n\r\n$query";
   $h=fsockopen($host,80);
   fwrite($h,$post);
   $r="";
   for($a=0;!$a;){
       $b=fread($h,512);
       echo $b;
       $r.=$b;
       $gotSession=strpos($r,"ASPSESSION");
   if($gotSession)
      if(strpos($r, $crlf . $crlf,$gotSession)>0) break;
       $a=(($b=='')?1:0);
   }
   fclose($h);
   $arr = split("Set-Cookie:",$r);
   $AllCookies="";$count=1;
   while ($count < count($arr)) {
$AllCookies.=substr($arr[$count].";",
0,strpos($arr[$count].";",";")+1);

 $count++;}
   return $AllCookies;

}
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Also das siehst schonmal sehr abenteuerlich aus:
PHP:
for($a=0,$r='';!$a;){
da müsste sich aber php sehr deutlich mit einer Fehlermeldung beschweren. imho müsstest du damit in einer Endlosschleife landen.
Eine while Schleife eigent sich viel eher um die Serverantwort auf einem socket auszulesen
PHP:
while(!feof($h)){
 $a .= fgets($h, 4096);
}
return $a;
obiger Code iteriert solange über den Zeiger ($h) bis keine Antwort mehr kommt, sprich die letzte Zeile der Serverantwort erreicht wurde. Das wird durch feof erreicht.
 

mega

Benutzer
Mitglied seit
26. Feb 2008
Beiträge
1.144
Punkte für Reaktionen
2
Punkte
64
Das stammt so wohl aus php.net

und es funktioniert ja auch irgendwie.
Ergibt folgende Ausgabe:
Rich (BBCode):
<pre>
HTTP/1.1 302 Moved Temporarily
Connection: close
Date: Fri, 01 Oct 2010 19:15:26 GMT
Server: Microsoft-IIS/6.0
P3P: CP="NON OTPa OUR STP OTC"
X-Powered-By: ASP.NET
Set-Cookie: SNUUID=693868C2%2D01A4%2DCCA2%2DE32523743EA8756A;path=/
Set-Cookie: SLOCO=69386A19%2DF5BD%2D7CD6%2D6ECDBC85A1073C3E;expires=Sun, 31-Oct-2010 19:15:26 GMT;path=/
location: /STV/M/misc/miscShowFrameSet.cfm
Content-Language: de-DE
Content-Type: text/html; charset=UTF-8










     

 




























    
   
   Cookies:<br><pre>
 SNUUID=693868C2%2D01A4%2DCCA2%2DE32523743EA8756A; SLOCO=69386A19%2DF5BD%2D7CD6%2D6ECDBC85A1073C3E;
</pre><br>Body:<br>
HTTP/1.1 302 Moved Temporarily
Connection: close
Date: Fri, 01 Oct 2010 19:15:26 GMT
Server: Microsoft-IIS/6.0
P3P: CP="NON OTPa OUR STP OTC"
X-Powered-By: ASP.NET
Set-Cookie: SNUUID=69386B13%2D0BFE%2D7E6C%2D5E77BE834691F09C;path=/
location: /STV/S/obj/user/usShowLogin.cfm?&sToken=MSG_LOGOUT_B
Content-Language: de-DE
Content-Type: text/html; charset=UTF-8
Es sind diverse Zeilen mit nur Leerstellen, Tabs oder völlig leer entfernt.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Das stammt so wohl aus php.net

und es funktioniert ja auch irgendwie.
Ja, aber nur irgendwie und irgendwie überhaupt nicht wie du willst ;)
Ergibt folgende Ausgabe:
Rich (BBCode):
HTTP/1.1 302 Moved Temporarily
Connection: close
Date: Fri, 01 Oct 2010 19:15:26 GMT
Server: Microsoft-IIS/6.0
P3P: CP="NON OTPa OUR STP OTC"
X-Powered-By: ASP.NET
Set-Cookie: SNUUID=69386B13%2D0BFE%2D7E6C%2D5E77BE834691F09C;path=/
location: /STV/S/obj/user/usShowLogin.cfm?&sToken=MSG_LOGOUT_B
Content-Language: de-DE
Content-Type: text/html; charset=UTF-8
Es sind diverse Zeilen mit nur Leerstellen, Tabs oder völlig leer entfernt.
Dieses "Schlamassel" dürfte von deiner Schleifeninterpretation her kommen. Zudem stehen in der Serverantwort eine wichtige Infos: 1. Die Seite wurde nicht gefunden sondern liegt an einem anderen Ort (HTTP Status 302) und 2. wird dir diese neue URL in location angegeben.

Du musst immer zuerst die Serverantwort prüfen. Wenn du als erste Zeile der Antwort keinen HTTP Status 200 bekommst, dann ist etwas schiefgegangen und du musst mit einer Fehlerprüfung reagieren. Bei den beiden Stati 301 und 302 liegt die Seite an einem anderen Ort. Also musst du in diesem Fall die korrekte Location aus der Antwort rausfischen und dann deine Funktion mit der neuen URL nochmals aufrufen. Und dann die Antwort wieder auswerten. Solange bis du einen 200-er Status zurückbekommst.
Bei Status 404 (not found) oder 403 (not authorized) kannst du gleich abbrechen. In diesen Fällen enthält die Antwort keine Hinweise zur korrekten URL
 

mega

Benutzer
Mitglied seit
26. Feb 2008
Beiträge
1.144
Punkte für Reaktionen
2
Punkte
64
Der Ablauf ist so schon richtig.
302 ist kein 'nicht gefunden'.
Das ist ne Weiterleitung zum Login, weil der Login eben nicht klappen will.

Einen 403 gibts natürlich nicht, der Browser soll ja dann auf die Login-Seite geführt werden.

Also: das Problem hier ist erstmal, den Login erfolgreich durchzuführen

Ist hier noch immer niemand, der bei Save.TV angemeldet ist UND ausreichend gut PHP kann, um sich daran zu versuchen?
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat