0

Web で見つけたスニペットを使用して、個人用の YouTube ビデオ ダウンローダーを作成しようとしています。私はそれを要求したIPにのみ役立つyoutubeによって与えられたURLを取得するので、ローカルホストでのみ機能します.Webサーバー上では、ダウンロードリンクを要求したIP(Webサーバー1 ) は、それをダウンロードするクライアント (私) と同じではありません。私の質問は、次のような方法があるかどうかです。

a) ビデオを Web サーバーにダウンロードし、そこから自分の PC にダウンロードします (最適なものではありません)。

b) 実際には私が Web サーバーを使用してビデオをダウンロードしているのに、Web サーバーがダウンロードしていると YouTube に思わせる。

URL は次のようになります。

http://oo---preferred---ams03s12---v13---lscache7.c.youtube.com/videoplayback?upn=TGDxfz8IZxI&sparams=cp%2Cgcr%2Cid%2Cip%2Cipbits%2Citag%2Cratebypass%2Csource% 2Cupn%2Cexpire&fexp=917000%2C903802%2C901425%2C920917%2C922401%2C920704%2C912806%2C924412%2C913558%2C912706&key=yt1&itag=18&ipbits=8&signature=4F0668E4E49852653FA995D28FECC455B552327D.3DEB3B58D1C5343B5EA03B7DA21355326EF29B7E&mv=m&sver=3&mt=1347451352&ratebypass=yes&source=youtube&ms=au&gcr=es&expire=1347475934&ip= 95.39.206.66&cp=U0hTTFRSU19ITkNOM19MTFdKOkVhV2otM1FhTXNj&id=2b4258153228ebc9

そのURLのIPを自分のものに変更しても機能しません。私はすでにそれを試しました。

4

1 に答える 1

1

ianhalesが言ったことに似た方法を見つけようとして、これが私が最終的に作ったものです:そのシンプルでおそらく最良の方法ですが、ファイルの名前を対応するyoutubeの名前で設定していた別の問題を修正するのに役立ちますビデオ。はい、これ:

$url=$_POST['url'];
$filename=$_POST['name'];

header('Content-type: video/mp4');
header('Content-Disposition: attachment; filename="'.$filename.'"');

echo file_get_contents($url);

$url は質問に投稿した大きな URL で、$filename は動画の名前です。

多分それは誰かに役立つので、ここに残します。

于 2012-09-13T10:11:00.390 に答える