论坛首页 入门技术论坛

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

浏览 4737 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-12-13  
OO
最近在学习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
   发表时间:2007-12-14  
我觉得应该可以吧?
163的blog上面的播放器就是实时抓歌播放的
0 请登录后投票
   发表时间:2007-12-14  
完全可以.不过socket就用不着了.用HttpURLConnection就够了!
0 请登录后投票
   发表时间:2007-12-20  
在java里有直接解析网页的类么?
0 请登录后投票
   发表时间:2007-12-20  
1、这个工具对于你熟悉http协议有一定的帮助
2、这种解析工具已经有成熟的解决方案:apache的HttpClient,无需再重复轮子
0 请登录后投票
   发表时间:2007-12-23  
我是个初学者。对你的这个程序挺感兴趣的,回来程序完成了,能不能发上来,让我学习一下。。谢了
0 请登录后投票
   发表时间:2008-02-26  
个人还是支持的,目前ubuntu系统的不断流行,在其系统下开发的java软件也将会越来越多,尚且内存越来越便宜,硬件升级对java是一件幸事啊!
0 请登录后投票
   发表时间:2008-04-24  
HttpClient
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics