本帖最后由 republican 于 2011-3-14 20:21 编辑
其实我最讨厌的就是操作IE。
这是后台播放代码(现在只支持一个结果的歌曲). 修正码至少现在是9996(加解密算法暂时不清楚,就这样吧),大家看着改吧,貌似是1个个递增的.
#include <WinHttp_GetRespond.au3>
$KeyWord = InputBox("请输入关键字","歌曲名称")
$UTF_8Code = StringRegExpReplace(StringTrimLeft(String(StringToBinary($KeyWord,4)),2),'([\w]{2})','%$1')
$MyOpen=_WinHttpOpen()
$rContext=_WinHTTP_GetRespond($MyOpen,"http://wwww.yymp3.com/Search.aspx?key="&$UTF_8Code&"&ksplay=&n=2&no=0",2)
If @error Then
MsgBox(48,'错误代码' & @error,$rContext)
Exit
EndIf
$PlayHtml = StringRegExp(BinaryToString($rContext[0]),'"(Play/.*)"><.*>'&$KeyWord&'</font>',3)
If @error Or Not IsArray($PlayHtml) Then
MsgBox(48,'无法找到歌曲','错误代码' & @error)
Exit
EndIf
$PlayHtml =$PlayHtml[0]
$rContext=_WinHTTP_GetRespond($MyOpen,"http://wwww.yymp3.com/"&$PlayHtml,2)
If @error Then
MsgBox(48,'错误代码' & @error,$rContext)
Exit
EndIf
$PlayURL = StringRegExp(BinaryToString($rContext[0]),"song_data\[0\]='.*?\|.*?\|.*?\|.*?\|(.*?)\|\|",3)
If @error Or Not IsArray($PlayURL) Then
MsgBox(48,'无法找到链接','错误代码' & @error)
Exit
EndIf
$PlayURL = $PlayURL[0]
$FixedURL = InputBox("请进行人工修正","请输入二级链接地址,默认地址将为http://wma.09yx.com/(你输入的地址)/相对路径","9996")
$FinalURL = 'http://wma.09yx.com/' & $FixedURL &'/'& $PlayURL
;~ FileWrite(@ScriptDir & '\txt.txt',$FinalURL)
_WinHttpCloseHandle($MyOpen)
$WMP=ObjCreate("WMPlayer.OCX")
$WMP.url=$FinalURL
$WMP.Controls.play
While 1
Sleep(10)
WEnd
编译好的文件:
|