0

これを使用してYouTubeのダウンロードリンクを取得しようとしています

String data = getURL("http://www.youtube.com/get_video_info?video_id=" + id);

ただし、常にデータの一部を返します。データの末尾は「...」のようになります。たとえば、

expire%253D1391242316%2526ms%253Dau%2526fexp%253D900356%25252C902546%25252C936910%252...

このコードを使用しました

public String getURL(String s){
    InputStream is = null;  

    try{

        URL r = new URL(s);
        URLConnection rc = r.openConnection();

        DataInputStream dis = new DataInputStream(rc.getInputStream());

        List<Byte> l = new ArrayList<Byte>();

        while(true){
            try{
                l.add(dis.readByte());
            }catch(Exception e){
                break;
            }
        }

        byte[] b = new byte[l.size()];
        for(int i = 0; i < l.size(); i++){
            b[i] = l.get(i);
        }

        return new String(b,"UTF-8");


    }catch(Exception e){

        e.printStackTrace();
        return null;

    }
}

これがデータ全体を取得できない理由はありますか? このURLでchromeを使用するだけでダウンロードできます

http://www.youtube.com/get_video_info?video_id=itGNQbJwRSk

ファイル全体をダウンロードします。しかし、ストリーミングはできません。

4

1 に答える 1

0

私は愚かでした!デバッグウィンドウの値でした。

文字列の長さをログに記録したところ、ファイルの合計長と同じであることがわかりました。

于 2014-02-01T08:25:58.360 に答える