当前位置:编程学习 > C#/ASP.NET >>

开发ASP.NET下的MP3小偷程序

答案:     昨天在这个地址:http://code.knowsky.com/down/86.html 看到一个非常漂亮的MP3的FLASH播放器,真是好看。可是一调试发现里面的歌太老,要不就是听不了。MP3资源都在互联网上,有时听不了也是正常,但大多数不好用,真是用处不大了。仔细分析了一下它的源码,原来是读取目录下的1.xml,2.xml..4.xml文件。我经常在番茄花园听歌,也就是http://www.tomatolei.com,就想能不能把番茄的MP3资源放到这里来放呢?这不就是大家常说的MP3小偷的功能吗?说干就干!
  
    1、分析一下番茄花园的歌来源: PageUrl = "http://tomatolei.com/bbs/T_playlist.asx";
  
    2、目标地址:1.xml
  
    3、用程序转换格式:
  
    前台:
  
  <%@ Page language="c#" Codebehind="ReadAndWriteXml.aspx.cs" AutoEventWireup="false" Inherits="读取番茄花园的MP3.ReadAndWriteXml" validateRequest=false%>
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
  <HTML>
  <HEAD>
  <title>读取番茄花园MP3列表</title>
  <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
  <meta content="C#" name="CODE_LANGUAGE">
  <meta content="javascript" name="vs_defaultClientScript">
  <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
  </HEAD>
  <body MS_POSITIONING="GridLayout">
  <form id="Form1" method="post" runat="server">
  <FONT face="宋体">
  <asp:TextBox id="TextBox1" style="Z-INDEX: 101; LEFT: 56px; POSITION: absolute; TOP: 32px" runat="server"
  Width="312px" Height="240px" TextMode="MultiLine"></asp:TextBox>
  <asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 160px; POSITION: absolute; TOP: 288px" runat="server"
  Width="96px" Text="修正~"></asp:Button></FONT></form>
  </body>
  </HTML>
  
    后台:
  
  using System;
  using System.Collections;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Web;
  using System.Web.SessionState;
  using System.Web.UI;
  using System.Web.UI.WebControls;
  using System.Web.UI.HtmlControls;
  using System.IO;
  using System.Net;
  using System.Text;
  using System.Text.RegularExpressions;
  namespace 读取番茄花园的MP3
  {
   /// <summary>
   /// WebForm1 的摘要说明。
   /// </summary>
   public class ReadAndWriteXml : System.Web.UI.Page
   {
    protected System.Web.UI.WebControls.TextBox TextBox1;
    protected System.Web.UI.WebControls.Button Button1;
    private string PageUrl = "";
  
    private void Page_Load(object sender, System.EventArgs e)
    {
     // 在此处放置用户代码以初始化页面
     if(!IsPostBack)
     {
      ///首先读取番茄花园的acx文件(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);
      string Result = Encoding.Default.GetString(pageData);
      TextBox1.Text=Result;
  
     }
    }
  
    #region Web 窗体设计器生成的代码
    override protected void OnInit(EventArgs e)
    {
     //
     // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
     //
     InitializeComponent();
     base.OnInit(e);
    }
  
    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {
     this.Button1.Click += new System.EventHandler(this.Button1_Click);
     this.Load += new System.EventHandler(this.Page_Load);
    }
    #endregion
  
    private void Button1_Click(object sender, System.EventArgs e)
    {
     string temp=TextBox1.Text;
     TextBox1.Text="<musics firstRun=\"1\">";
     TextBox1.Text+=temp;
  
     TextBox1.Text=TextBox1.Text.Replace("<Asx Version=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("<Entry>","");
  
     TextBox1.Text=TextBox1.Text.Replace("<Title>","<music name=\"");
     TextBox1.Text=TextBox1.Text.Replace("</Title>","\"");
   
     TextBox1.Text=TextBox1.Text.Replace("<Ref href=>  
     TextBox1.Text+="</musics>";
  
     //TextBox1.Text=TextBox1.Text.Replace("\r\n","");
     /// 下面开始生成 1.xml文件
     ///
     StreamWriter swFromFileStreamUTF8Buffer=new StreamWriter(Server.MapPath("./")+"1.xml",false,System.Text.Encoding.UTF8,512);
     swFromFileStreamUTF8Buffer.Write(TextBox1.Text);
     swFromFileStreamUTF8Buffer.Flush();
     swFromFileStreamUTF8Buffer.Close();
    }
   }
  }
  
  
  
  
  
  
  
  

上一个:利用ASP.NET的内置功能抵御Web攻击
下一个:使用 ASP.NET 语法创建模板

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,