Hier j'ai vu un très beau lecteur MP3 FLASH à cette adresse : http://code.downcodes.com/down/86.html . Mais après le débogage, j'ai trouvé que les chansons qu'il contenait étaient trop anciennes ou que je ne pouvais pas les écouter. Les ressources MP3 sont toutes sur Internet, et il est normal de ne pas pouvoir les écouter parfois, mais la plupart d'entre elles ne sont pas simples à utiliser et sont vraiment de peu d'utilité. Après avoir soigneusement analysé son code source, il s'avère qu'il lit les fichiers 1.xml, 2.xml..4.xml du répertoire. J'écoute souvent de la musique sur Tomato Garden, sur http://www.tomatolei.com , et je me demandais si je pouvais mettre les ressources MP3 de Tomato ici ? N'est-ce pas là la fonction de ce que tout le monde appelle souvent un voleur de MP3 ? Fais-le c'est tout!
1. Analysez la source de la chanson Tomato Garden : PageUrl = " http://tomatolei.com/bbs/T_playlist.asx ";
2. Adresse cible : 1.xml
3. Convertissez le format à l'aide d'un programme :
Réception :
< %@ Langue de la page ="c#" Codebehind="ReadAndWriteXml.aspx.cs" AutoEventWireup="false" Inherits="Lire le MP3.ReadAndWriteXml de Tomato Garden" validateRequest=false%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//FR" >
<HTML>
<TÊTE>
<titre>Lire la liste MP3 de Tomato Garden</titre>
<meta content="Microsoft Visual Studio .NET 7.1" nom="GÉNÉRATEUR">
<meta content="C#" nom="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content=" http://schemas.microsoft.com/intellisense/ie5 " name="vs_targetSchema">
</TÊTE>
<body MS_POSITIONING="GridLayout">
<id du formulaire="Form1" méthode="post" runat="serveur">
<FONT face="宋体">
<asp:TextBox id="TextBox1" style="Z-INDEX : 101 ; GAUCHE : 56 px ; POSITION : absolue ; HAUT : 32 px" runat="server"
Largeur="312px" Hauteur="240px" TextMode="MultiLine"></asp:TextBox>
<asp:Button id="Button1" style="Z-INDEX: 102; GAUCHE: 160px; POSITION: absolue; HAUT: 288px" runat="server"
Largeur="96px" Text="Correction~"></asp:Button></FONT></form>
</corps>
</HTML>
Backend :
utilisation du système ;
en utilisant System.Collections ;
en utilisant System.ComponentModel ;
en utilisant System.Data ;
en utilisant System.Drawing ;
en utilisant System.Web ;
en utilisant System.Web.SessionState ;
en utilisant System.Web.UI ;
en utilisant System.Web.UI.WebControls ;
en utilisant System.Web.UI.HtmlControls ;
en utilisant System.IO ;
en utilisant System.Net ;
en utilisant System.Text ;
en utilisant System.Text.RegularExpressions ;
l'espace de noms lit Tomato Garden MP3
{
/// <résumé>
/// Description récapitulative de WebForm1.
/// </résumé>
classe publique ReadAndWriteXml : System.Web.UI.Page
{
protégé System.Web.UI.WebControls.TextBox TextBox1 ;
protégé System.Web.UI.WebControls.Button Button1 ;
chaîne privée PageUrl = "";
private void Page_Load (expéditeur de l'objet, System.EventArgs e)
{
//Mettez le code utilisateur ici pour initialiser la page if(!IsPostBack)
{
///Lisez d'abord le fichier acx de Tomato Garden ( http://tomatolei.com/bbs/T_playlist.asx )
///
PageUrl = " http://tomatolei.com/bbs/T_playlist.asx ";
WebClient wc = new WebClient();
wc.Credentials = CredentialCache.DefaultCredentials ;
Byte[] pageData = wc.DownloadData(PageUrl);
chaîne Résultat = Encoding.Default.GetString(pageData);
TextBox1.Text=Résultat
;
}
#region Le code généré par Web Form Designer remplace protected void OnInit(EventArgs e)
{
//
// CODEGEN : cet appel est requis par le concepteur ASP.NET Web Forms.
//
InitializeComponent();
base.OnInit(e);
}
/// <résumé>
/// La méthode requise est prise en charge par le concepteur - n'utilisez pas l'éditeur de code pour modifier /// le contenu de cette méthode.
/// </résumé>
vide privé InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Button1_Click (expéditeur de l'objet, System.EventArgs e)
{
chaîne temp=TextBox1.Text ;
TextBox1.Text="<musiques firstRun="1">";
TextBox1.Text+=temp;
TextBox1.Text=TextBox1.Text.Replace("<Version Asx=3.0>","");
TextBox1.Text=TextBox1.Text.Replace("<Param Name="AllowShuffle" Value="yes"/> ","");
TextBox1.Text=TextBox1.Text.Replace("</Asx>","");
TextBox1.Text=TextBox1.Text.Replace("</Entry>","");
TextBox1.Text=TextBox1.Text.Replace("<Entrée>","");
TextBox1.Text=TextBox1.Text.Replace("<Titre>","<nom de la musique="");
TextBox1.Text=TextBox1.Text.Replace("</Titre>",""");
TextBox1.Text=TextBox1.Text.Replace("<Ref href=","addres=");
TextBox1.Text+="</musiques>"
//TextBox1.Text=TextBox1.Text.Replace("r n","");
/// Commençons par générer le fichier 1.xml ///
StreamWriter swFromFileStreamUTF8Buffer=new StreamWriter(Server.MapPath("./")+"1.xml",false,System.Text.Encoding.UTF8,512);
swFromFileStreamUTF8Buffer.Write(TextBox1.Text);
swFromFileStreamUTF8Buffer.Flush();
swFromFileStreamUTF8Buffer.Close();
}
}
}