最近在学习java,光看书也没有意思,就想着自己动手做个小工具,就当是练习了。
由于平时经常到baidu上下歌,就想着做个baidu的mp3播放器,可以边听默认的播放列表就是mp3.baidu.com上的那些分类,比如TOP500等等。我的想法是这样的,初始化播放器的时候,模拟IE向mp3.baidu.com发请求,得到各个分类的响应网页源代码,然后通过解析网页源代码得到歌曲的名字和网络地址,然后就可以边听边下载了。比如 歌曲TOP500的URL为 /topso/mp3topsong.html?id=1?top2
于是用httpwatch抓了一个http的请求包,如下:
GET /topso/mp3topsong.html?id=1?top2 HTTP/1.1
Accept: */*
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Host: list.mp3.baidu.com
Connection: Keep-Alive
Cookie: BAIDUID=B486276D927F185C2D188C23F27C26FA
然后用java建立一个socket,连接指向list.mp3.baidu.com,发送http请求,然后解析响应包。
大家觉得这个想法如何?我就是想练习一下,高手们,有没有好的建议阿?
******************************************************************
这个想法现在已经初步实现了,但是由于工作比较忙,播放器做得比较简单
在做的过程中学到的东西大致有以下几点:
1 使用最基本的java socket进行通信,发送http头部和获取服务器响应。在此过程中遇到一个问题,就是用readLine函数进行读取响应时,出奇地慢,后来查了些资料,貌似说readLine函数的缓冲区开得很小,导致读取速度慢;自后自己设置缓冲区,用read函数读取,速度就很快了
2 百度网页的解析,其实就是字符串的操作
3 播放网络歌曲: 歌曲的播放用jmf实现,安装了jmf框架和播放mp3的插件
目前还比较简陋,播放时加载速度也很慢,这部分以后要改成多线程的模式
学习是最主要的,希望大家有好的想法的时候也共享出来,练练手
- 大小: 30.3 KB
分享到:
相关推荐
这个名为“编译和运行Java程序的小工具”就是为了简化这一过程而设计的。下面将详细解释这款小工具的工作原理以及如何利用它来提升Java开发效率。 首先,Java程序的执行通常需要经过两个主要步骤:编译和运行。编译...
综上所述,"Java必备工具包"涵盖了Java API、GUI编程、企业级开发框架以及正则表达式等多个重要领域,是Java初学者和进阶者都非常有用的参考资料。通过深入学习和实践这些内容,开发者可以增强自己的Java编程能力,...
此外,这款工具可能还会提供版本管理功能,允许用户在多个版本的Java之间轻松切换,这对于测试不同版本的Java程序或依赖特定版本环境的项目非常有用。例如,开发人员可能需要同时维护Java 8和Java 11的项目,一键...
"Java环境一键配置小工具"正是为了解决这个问题而设计的,它提供了傻瓜式的操作方式,使得Java环境变量的配置变得简单易行,无论是新手还是在新电脑上安装Java,都能快速完成设置。 首先,我们要理解Java开发环境的...
Java工具类通常包括各种通用方法,可以解决日常编程中遇到的常见问题,比如数据转换、IO操作、线程管理等。 至于"My-DIY-Tools"这个压缩包子文件的文件名称,我们可以推测这可能是一个包含所有工具类的源码包。打开...
Java反汇编是将Java字节码转换为人类可读的源代码表示的过程,这对于理解已编译的Java类文件的内部工作原理、调试、逆向工程或教学都非常有用。在Java领域,JVM(Java虚拟机)执行的是字节码,这是一种中间语言,而...
总的来说,"Java从入门到精通之工具篇"这个资料集为Java初学者提供了一个全面的起点,不仅讲解了Java语言的基本概念,还介绍了常用的开发工具和实践技巧。通过系统地学习和实践,初学者可以逐步建立起坚实的Java编程...
对于初学者和专业开发者来说,这都是一个极其有用的工具,因为它可以节省大量时间并减少错误。 在Jigloo中,你可以选择各种组件,例如按钮、文本框、滚动条、菜单等,将它们放置在窗体上并调整大小和位置。工具还...
Java反编译是将已编译的字节码文件(.class)转换回源代码(.java)的过程,这对于理解二进制库的功能、学习代码实现或者进行逆向工程非常有用。本文将深入探讨Java反编译技术及其相关工具,以标题中的"超强Java反...
在这个领域,有一些优秀的可视化工具可以帮助开发者理解或查看Java程序的内部工作原理,即使原始源代码不可用。下面将详细介绍几个流行的Java反编译可视化工具。 1. **JAD (Java Decompiler)** JAD 是一款广泛使用...
标签中的“java 代码 生成 工具”明确了这个工具的主要功能和应用领域。Java代码生成工具主要服务于Java开发者,可以自动生成常见的Java类、接口、方法等,减少手动编写的基础工作,提高开发效率。例如,它可以自动...
尤其是那些和我一样初学Java的朋友们,看看哪一节对你有用,不妨过来讨论一下哦! 第1章 Java概述 1.1 Java的发展史 1.1.1 Java起源 1.1.2 Java发展 1.2 Java是什么 1.2.1 Java语言 1.2.2 Java平台 1.2.3 ...
Java反编译工具是程序员在开发和调试过程中经常会用到的一种实用工具,它主要用于查看Java字节码(.class文件)的源代码。由于Java的编译过程将源代码转换成字节码,使得原始的Java源代码不再可见,这时反编译工具就...
在这个场景中,我们有一个工具类,它包含了FTP的上传、下载和删除功能,这对于任何需要与FTP服务器交互的应用程序都是非常有用的。 首先,让我们详细了解一下FTP上传功能。在Java中,我们可以使用`FTPClient`类来...
10. **学习与调试**:对于初学者或开发者来说,JD-GUI是一个很好的学习工具,可以帮助理解Java字节码和类加载机制,同时也方便在没有源代码的情况下进行逆向工程和调试。 总之,Java反编译工具GUI,特别是JD-GUI,...
【Java简易聊天小工具】是一个专为初学者设计的项目,旨在帮助他们更好地理解和实践Java中的网络编程,特别是Socket通信的原理。这个小工具允许在局域网内的两台计算机之间进行简单的文本聊天,通过创建客户端...
Java LibSVM 3.22工具包是一个用于支持向量机(SVM)的高效、灵活且广泛使用的库,特别适用于分类和回归任务。LibSVM由Chih-Chung Chang和Chih-Jen Lin开发,是机器学习领域中一个非常重要的开源项目。这个工具包...
【JAVA开发工具】是软件开发领域中不可或缺的一部分,主要用于编写、调试、运行和管理Java应用程序。Java作为一种跨平台的编程语言,广泛应用于企业级应用、移动应用(Android)、Web应用以及大数据处理等领域。本...
这对于大型的Java项目来说尤其有用,可以帮助开发者更好地组织和管理源代码文件。同时,EditPlus内置了FTP客户端,可以直接连接到服务器进行文件上传和下载,简化了开发过程中的文件部署步骤。 编辑器还具备强大的...
Java开发是IT行业中不可或缺的一部分,尤其对于后端开发者而言,Java是他们的主要武器。...同时,与Apache相关工具和可能的小程序开发资源相结合,这个压缩包为全面学习和实践Java开发提供了良好的起点。