初学java,想做个小工具,大家觉得这个工具有用不?

阅读更多
最近在学习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的插件

目前还比较简陋,播放时加载速度也很慢,这部分以后要改成多线程的模式

学习是最主要的,希望大家有好的想法的时候也共享出来,练练手
  • 初学java,想做个小工具,大家觉得这个工具有用不?_第1张图片
  • 大小: 30.3 KB
  • 查看图片附件

你可能感兴趣的:(Java,Socket,Ubuntu,百度,IE)