如何从网站代码中提取视频的URL

时间:2014-01-23 05:29:23

标签: java video encryption stream

我正在制作一个从网站流动动画的应用程序。但是,为了做到这一点,我需要直接链接到视频,例如:

http://s1000.animepremium.tv/stream/74017.mp4

但是,这个网站我目前正在尝试从animeseason.com流式传输,但我无法从代码中找到该视频的链接。

以下是代码:

<a href="#" onclick="show_player('player1', '%{3c%-69%$66%X72%!61%F6d%N65%Z20%@6d%[61%W72%J67%@69%U6e%@68%C65%J69%V67%R68%B74%D3d%-22%[30%G22%S20%P6d%A61%M72%~67%Y69%A6e%T77%V69%*64%D74%I68%+3d%R22%[30%Z22%L20%Q73%]63%A72%+6f%X6c%C6c%G69%F6e%U67%H3d%I22%Q6e%C6f%P22%[20%S66%P72%G61%F6d%A65%H62%Y6f%V72%?64%!65%#72%+3d%E22%Y30%X22%Q20%A77%T69%Q64%+74%C68%T3d%D22%H35%?34%L30%Q22%P20%O68%*65%K69%{67%H68%R74%+3d%H22%Z33%W30%@34%Y22%K20%S73%W72%P63%C3d%F22%*68%D74%Y74%H70%A3a%!2f%~2f%E6d%]70%~34%P75%L70%B6c%#6f%D61%M64%W2e%K63%#6f%U6d%R2f%O65%C6d%G62%?65%M64%Z2d%W34%!6b%@68%!71%T66%*7a%M37%~34%{6e%?67%N6a%-6e%[2e%A68%L74%G6d%B6c%B22%J3e%O3c%Y2f%T69%D66%E72%+61%S6d%H65%E3e');return false">Mp4up Player</a>

正如您所看到的那样,视频似乎已加密,是否可以解密?如果是这样,我将如何实现这一目标?

提前致谢!

编辑:我已经在java中设置了一个流媒体设备,可用于任何视频,例如第一个链接中的视频。我只需要知道如何解密上面代码中的视频链接......

EDIT2;我正在使用Java,所以如果已经有java的解决方案请告诉我

1 个答案:

答案 0 :(得分:1)

如果您认为视频网址已加密而非视频本身,则接受质询。 并且它不像视频URL是加密的,它更像是“混淆”,因为数据的结构是可见的。所以要去混淆:

public class Q21300109 {

public static final String urlEncoded = "%{3c%-69%$66%X72%!61%F6d%N65%Z20%@6d%[61%W72%J67%@69%U6e%@68%C65%J69%V67%R68%B74%D3d%-22%[30%G22%S20%P6d%A61%M72%~67%Y69%A6e%T77%V69%*64%D74%I68%+3d%R22%[30%Z22%L20%Q73%]63%A72%+6f%X6c%C6c%G69%F6e%U67%H3d%I22%Q6e%C6f%P22%[20%S66%P72%G61%F6d%A65%H62%Y6f%V72%?64%!65%#72%+3d%E22%Y30%X22%Q20%A77%T69%Q64%+74%C68%T3d%D22%H35%?34%L30%Q22%P20%O68%*65%K69%{67%H68%R74%+3d%H22%Z33%W30%@34%Y22%K20%S73%W72%P63%C3d%F22%*68%D74%Y74%H70%A3a%!2f%~2f%E6d%]70%~34%P75%L70%B6c%#6f%D61%M64%W2e%K63%#6f%U6d%R2f%O65%C6d%G62%?65%M64%Z2d%W34%!6b%@68%!71%T66%*7a%M37%~34%{6e%?67%N6a%-6e%[2e%A68%L74%G6d%B6c%B22%J3e%O3c%Y2f%T69%D66%E72%+61%S6d%H65%E3e";

public static void main(String... args) {

    String senc = urlEncoded;
    int offSet = senc.indexOf('%');
    StringBuilder sb = new StringBuilder();
    while (offSet > -1) {
        String hex = senc.substring(offSet + 2, offSet + 4);
        // hex to char, see http://stackoverflow.com/a/10101779/3080094
        char c = (char)Integer.parseInt(hex, 16);
        sb.append(c);
        offSet = senc.indexOf('%', offSet + 1);
    }
    System.out.println(sb.toString());
}
}

产生:

<iframe marginheight="0" marginwidth="0" scrolling="no" 
frameborder="0" width="540" height="304" 
src="http://mp4upload.com/embed-4khqfz74ngjn.html"></iframe>