sh/bash/dash/ksh/zsh等Shell脚本
-
ychristian
- 帖子: 47
- 注册时间: 2007-07-17 14:36
#1
帖子
由 ychristian » 2008-08-15 14:27
网上有很多了,我想自己独立写一个出来,学习一下,但是,发现在获得的那个页面里面,没有明确的下载地址.
http://mp3.baidu.com/m?tn=baidump3&ct=1 ... 8%BA%D0%C7
比如这个地方
第一个地址.打开后是源代码是
代码: 全选
<!--STATUS OK-->
<HTML><HEAD><TITLE> </TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<style type="text/css">
body{margin:0px;padding:0px;background-color:#f1f1f1;}
*{ font-family:Arial;}
#c{margin:0px auto;width:100%; font-size:12px;}
.li{font-size:14px;line-height:18px;float:left;list-style-type:none;font-weight:bold;}
.t{ margin:0px;padding:12px 40px 6px 40px;}
a.l, a.l:visited{font-weight: normal;color: #777777;font-size: 12px;}
#c td{font-weight:bold;}
#t{background-color:white;font-size:14px; line-height:30px; height:135px;}
*{ word-break:break-all;word-wrap:break-word;}
#txt{ color:#777777; line-height:16px;}
#txt a{ color:#777777;font-family:宋体;}
#adv{margin:3px auto;height:300px;width: 360px;}
#adv iframe{width:360px;height:300px}
#rAd{position:absolute; top:20px; right:17px;}
#rAd iframe{width:140px;height:30px}
#adTxt{height:18px;margin:8px 13px 0px 40px; text-align:right}
#adTxt iframe{width:200px;height:18px}
.clear{clear:both; height:0; font:0/0px;overflow:hidden;}
</style>
</head>
<body leftmargin=0 topmargin=0 vlink="#0033CC" link="#0033CC" onLoad="sa()">
<script>var img=new Image();img.src="/wd/mp3-sg.jpg?r="+Math.random();</script>
<noscript><img style="display:none" src="/wd/mp3-sg-nojs.jpg?r=1218781558" /></noscript>
<div id="c">
<div id="t">
<div style="padding:30px 0px 0px 40px;"><div id="rAd"></div>
歌曲名:<a id="urln" href="" onclick="sd(1);" target="_blank">北京欢迎你 ...</a><br>
<li class="li" style="margin-top:2px;">请点击此链接:</li>
<li class="li" style="margin-right:10px;"><a id="urla" href="" onclick="sd(2)" target="_blank"></a></li>
</div>
<div class="clear"> </div>
<div id="adTxt"></div>
<div class="clear"> </div>
</div>
<table class="t" width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><a class="l" title="根据用户指令,百度的搜索引擎系统会以非人工方式自动生成到第三方网页的链接。“百度”自身不存储、控制、编辑或修改被链接的第三方网页的信息。百度高度重视知识产权保护,并制定了旨在保护权利人的合法权益的措施和步骤,当权利人发现在百度生成的链接所指向的第三方网页内容侵犯其著作权时,请权利人向百度发出“权利通知”,百度将依法采取措施断开相关链接。">百度提示,请您阅读</a></td>
<td align="right"><a href="http://www.baidu.com/search/appcopyright.html" target="_blank" class="l">权利声明</a></td>
</tr>
</table>
<div style="text-align:center"><div id="adv"></div></div>
</div>
</BODY>
<script>
function G(A){return document.getElementById(A)}function sa(){var C=G("adv");if(C.innerHTML){var B=520,A=530;var E=(screen.width-B)/2,D=(screen.height-A)/2;moveTo(E,D);resizeTo(B,A)}}var song_1218781558;function sd(B){var A=new Image();A.src="/wd/sg-url.jpg?url="+song_1218781558+"&pos="+B+"&r="+Math.random()}function disUrl(){var F=1218781558,L=0;var I="1DD9://vv6yx2u.AA.w86/6yx2u/6EC2w/uEx28/MKKSKO/vy232701Eu7I27072.69N",J="1DD9://vv6yx2u.AA.w86/6yx2u/6EC2w/uEx28/MKKSKO/vy232701Eu7I27072.69N";var O="",E="";var K=[],H=[];var B=G("urln"),C=G("urla");function N(S,P,Q){for(var R=S;R<=P;R++){K[R]=R+Q;H[R+Q]=R}}N(0,9,48);N(10,35,55);N(36,61,61);var M=F%26;M=M?M:1;function A(Q){var P=Q.length;var S="";for(var R=0;R<P;R++){var T=Q.charAt(R);if(/[A-Za-z0-9]/.test(T)){var U=H[Q.charCodeAt(R)]-M;if(U<0){U+=62}T=String.fromCharCode(K[U])}S+=T}return S}O=A(I);E=(I==J)?O:A(J);B.href=C.href=song_1218781558=O;C.innerHTML=E;if(!L||F-L<3600){var D=new Image();D.src="/wd/mp3-sg-decode.jpg?url="+O+"&r="+Math.random()}}disUrl();
</script>
</HTML>
大家是怎么样获得下载的地址的阿.
新人发问,许多地方不懂阿
-
bones7456
- 帖子: 8495
- 注册时间: 2006-04-12 20:05
- 来自: 杭州
-
联系:
#2
帖子
由 bones7456 » 2008-08-15 14:41
1DD9://vv6yx2u.AA.w86/6yx2u/6EC2w/uEx28/MKKSKO/vy232701Eu7I27072.69N
-
xiooli
- 帖子: 6956
- 注册时间: 2007-11-19 21:51
- 来自: 成都
-
联系:
#3
帖子
由 xiooli » 2008-08-15 14:58
-
xiooli
- 帖子: 6956
- 注册时间: 2007-11-19 21:51
- 来自: 成都
-
联系:
#5
帖子
由 xiooli » 2008-08-15 16:51
ychristian 写了:
可以吗?我怎么下部了?
可以下啊
-
附件
-
-
BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
-
联系:
#6
帖子
由 BigSnake.NET » 2008-08-15 16:58
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
-
oneleaf
- 论坛管理员
- 帖子: 10441
- 注册时间: 2005-03-27 0:06
- 系统: Ubuntu 12.04
#7
帖子
由 oneleaf » 2008-08-15 18:53
-
solcomo
- 帖子: 2838
- 注册时间: 2007-04-25 13:12
#8
帖子
由 solcomo » 2008-08-15 20:08
代码: 全选
#!/bin/bash
str="1DD9://vv6yx2u.AA.w86/6yx2u/6EC2w/uEx28/MKKSKO/vy232701Eu7I27072.69N"
num=$((`echo $str | wc -m`-1))
arr=(a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9)
for i in `seq $num`
do
m=`echo $str | cut -c$i`
for j in `seq 61`
do
if [[ $m =~ ${arr[$j]} ]]; then
echo -n ${arr[$j+16]}
elif [[ $m =~ [.:/] ]]; then
echo -n $m
break
fi
done
done
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖
☠☯⚔☣☦☃
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS
-
xiooli
- 帖子: 6956
- 注册时间: 2007-11-19 21:51
- 来自: 成都
-
联系:
#9
帖子
由 xiooli » 2008-08-15 21:34
代码: 全选
<(︶︿︶)>[~/桌面]:echo "1DD9://vv6yx2u.AA.w86/6yx2u/6EC2w/uEx28/MKKSKO/vy232701Eu7I27072.69N" |tr "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRST" "qrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
HTTP://BBMEDIA.QQ.COM/MEDIA/MUSIC/AUDIO/200804/BEIJINGHUANYINGNI.MP3
-
solcomo
- 帖子: 2838
- 注册时间: 2007-04-25 13:12
#10
帖子
由 solcomo » 2008-08-15 22:23
xiooli 写了:代码: 全选
<(︶︿︶)>[~/桌面]:echo "1DD9://vv6yx2u.AA.w86/6yx2u/6EC2w/uEx28/MKKSKO/vy232701Eu7I27072.69N" |tr "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRST" "qrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
HTTP://BBMEDIA.QQ.COM/MEDIA/MUSIC/AUDIO/200804/BEIJINGHUANYINGNI.MP3
♜♞♝♛♚♝♞♜
♟♟♟♟♟♟♟♟
♙♙♙♙♙♙♙♙
♖♘♗♕♔♗♘♖
☠☯⚔☣☦☃
☹☻☪☭☬⚖⚛⚜
ℜℳℬ™ ℋℯℓ℘ ℳℭ
sƂɐʍ рǀɹoʍ əɥʇ oS
-
BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
-
联系:
#11
帖子
由 BigSnake.NET » 2008-08-15 22:30
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
-
oneleaf
- 论坛管理员
- 帖子: 10441
- 注册时间: 2005-03-27 0:06
- 系统: Ubuntu 12.04
#12
帖子
由 oneleaf » 2008-08-15 23:13
BigSnake.NET 写了:
针对http的, ftp就无效了
哦?ftp的我没有测试过,有什么好的解决办法吗?实在不行,我就采用java直接运行js脚本中的函数,反向得到真实地址。
-
BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
-
联系:
#13
帖子
由 BigSnake.NET » 2008-08-16 14:58
oneleaf 写了:BigSnake.NET 写了:
针对http的, ftp就无效了
哦?ftp的我没有测试过,有什么好的解决办法吗?实在不行,我就采用java直接运行js脚本中的函数,反向得到真实地址。
其实就是个海撒法, 找到偏移值就可以了。。
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
-
oneleaf
- 论坛管理员
- 帖子: 10441
- 注册时间: 2005-03-27 0:06
- 系统: Ubuntu 12.04
#14
帖子
由 oneleaf » 2008-08-16 15:44
误会了,我当时是这样处理的,看看妥不妥当?
代码: 全选
//得到加密字符串 s440://p00zz.nzx/53p23/CBBBI/x53tn/DBBJBJBGCIEDFBDBEHI.7xl
String enStr = murl.group(1);
String s = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
Map<Character, Integer> s_ord = new HashMap();
for (int i = 0; i < s.length(); i++) {
s_ord.put(s.charAt(i), i);
}
int dif = 0;
if (enStr.indexOf(":") == 3) {
//ftp://
dif = s_ord.get('f') + s.length() - s_ord.get(enStr.charAt(0));
} else {
//http://
dif = s_ord.get('h') + s.length() - s_ord.get(enStr.charAt(0));
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < enStr.length(); i++) {
char c = enStr.charAt(i);
if (c == ':' | c == '.' | c == '/') {
sb.append(c);
} else {
c = s.charAt((s_ord.get(c) + dif) % s.length());
sb.append(c);
}
}
return sb.toString();
-
ychristian
- 帖子: 47
- 注册时间: 2007-07-17 14:36
#15
帖子
由 ychristian » 2008-08-18 9:35
solcomo 写了:xiooli 写了:代码: 全选
<(︶︿︶)>[~/桌面]:echo "1DD9://vv6yx2u.AA.w86/6yx2u/6EC2w/uEx28/MKKSKO/vy232701Eu7I27072.69N" |tr "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRST" "qrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
HTTP://BBMEDIA.QQ.COM/MEDIA/MUSIC/AUDIO/200804/BEIJINGHUANYINGNI.MP3
各位大侠,是怎么找到这样的散列的啊.牛啊