歌曲不允许下载如何通过抓包工具找到歌曲路径

后使用快捷导航没有帐号?
只需一步,快速开始
扫一扫,访问微社区
查看: 4989|回复: 0
通过抓包获取QQ空间相册的真实地址,实现空间相册下载。
在网上找过相关的资料,都不是太全~有些缺漏。所有自己根据网上的再结合自己的修改了下。
通过HttpAnalyzerStdV5 分析QQ空间相册的真实地址。一下就是空间相册的地址:
之前在网上看见只有一个地址,但是通过我的分析,貌似会有很大的问题。比如:某个人的空间相册有些是有设置密码的。也有不设置密码的,那么就无法下载。因为这类的相册是通过另外一个URL解析的。
主要是想实现整个QQ好友的相册下载。现在仅仅实现了一个开放式的空间相册下载而已。
希望大家多多讨论讨论~帮忙分析分析QQ的登录。以及怎么获取所有QQ好友。
是否可以通过空间或者微博的api登录认证后获取cookies~
我最终是想弄一个,以一个人为基准,扫描出以他为基准,多少范围内的人。提取出这些人后再进行分析。相册下载只是一个功能。 我目前想的是通过某个公开的QQ号,获取他空间的访问记录,一层层的递归下去。有过这方面研究的么?一起研究研究。
1.怎么模拟登录QQ得到seesion后获得某个人的访问记录。 2.怎么得到该QQ的基本信息比如性别 年龄 等。
其实吧,最主要就是想通过这种方式找出符合自己要求的人。
http://my.oschina.net/u/557580/blog/72823
import mons.httpclient.HttpCimport mons.httpclient.HttpEimport mons.httpclient.HttpMimport mons.httpclient.HttpSimport mons.httpclient.methods.GetMimport mons.httpclient.params.HttpMethodPimport java.io.*;import java.net.MalformedURLEimport java.net.URL;import java.util.ArrayLimport java.util.Limport java.util.concurrent.ExecutorSimport java.util.concurrent.E/** * Created with IntelliJ IDEA. * User: cnprinces * Date: 12-8-14 * Time: 下午2:32 * To change this template use File | Settings | File Templates. */public class PhotoDownLoad {
class Photo {
//getter and setter
public Album getAlbum() {
public void setAlbum(Album album) {
this.album =
public String getUrl() {
public void setUrl(String url) {
this.url =
public String getName() {
public void setName(String name) {
this.name =
class Album {
// 图片张数
public Album() {
* @param id
* @param name
* @param cnt
public Album(String id, String name, int cnt) {
this.name =
//getter and setter
public String getId() {
public void setId(String id) {
public String getName() {
public void setName(String name) {
this.name =
public int getCnt() {
public void setCnt(int cnt) {
* sample uri: album:
* http://xalist./fcgi-bin/fcg_list_album?uin=
* &outstyle=2&t=0.0141&g_tk=5381 photo:
* http://xaplist.
* /fcgi-bin/fcg_list_photo?uin=&albumid=
* e3b63b1c-2dce-4f86-ad02-c0f81a878615
* &outstyle=json&t=0.6609&g_tk=5381
// private static final String albumbase = &http://xalist./fcgi-bin/fcg_list_album?uin=&;
private static final String albumbase1 = &http://alist./fcgi-bin/fcg_list_album?uin=&;//如果没有设置密保的相册是通过这个地址访问的
private static final String albumbase2 = &http://xalist./fcgi-bin/fcg_list_album?uin=&;//设置密保的相册是通过这个地址访问的
//private static final String photobase = &http://alist./fcgi-bin/fcg_list_photo?uin=&;
private static final String photobase1 = &http://plist./fcgi-bin/fcg_list_photo?uin=&;
private static final String photobase2 = &http://xaplist./fcgi-bin/fcg_list_photo?uin=&;
private static final String charset = &gb2312&;
private static List&Album& // 获取的所有相册
private static final String savePath = &e://qqPhoto//&; // 图片保存位置的父目录
private int curIndex = 0; // 每个相册当前正在下载的图片指针
* 获取用户相册
* @param qq
public List&Album& getAlbums(String qq, String url) {
List&Album& result = new ArrayList&Album&();
HttpClient client = new HttpClient();
String getUri = url + qq + &&outstyle=2&; // outstyle!=2服务器将以xml的形式返回结果,
// 这里只以简单文本解析提取相关信息,不做xml解析了.
HttpMethod method = new GetMethod(getUri);
method.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,
int status = 0;
status = client.executeMethod(method);
if (status != HttpStatus.SC_OK) {
System.err.println(&发生网络错误!&);
} catch (HttpException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
InputStream is =
BufferedReader br =
InputStreamReader isr =
List&String& ids = new ArrayList&String&();
List&String& names = new ArrayList&String&();
List&Integer& totals = new ArrayList&Integer&();
is = method.getResponseBodyAsStream();
isr = new InputStreamReader(is);
br = new BufferedReader(isr);
String temp =
while ((temp = br.readLine()) != null) {
if (temp.contains(&\&id\& :&)) {
String id = temp.substring(temp.indexOf(&\&id\& :&) + 8,
temp.length() - 2);
ids.add(id);
if (temp.contains(&\&name\& :&)) {
String name = temp.substring(
temp.indexOf(&\&name\& :&) + 10, temp.length() - 3);
names.add(name);
if (temp.contains(&\&total\& :&)) {
String total = temp
.substring(temp.indexOf(&\&total\& :&) + 10,
temp.length() - 1);
totals.add(Integer.parseInt(total));
if (temp.contains(&\&left\& :&)) {
} catch (IOException e) {
e.printStackTrace();
} finally {
method.releaseConnection();
br.close();
isr.close();
is.close();
} catch (IOException e) {
e.printStackTrace();
for (int i = 0; i & ids.size(); i++) {
Album album = new Album(ids.get(i), names.get(i), totals.get(i));
result.add(album);
* 获取一个相册的图片信息
* @param album
相册的信息
* @param qq
* @param phpUrl 地址
public List&Photo& getPhotoByAlbum(Album album, String qq, String phpUrl) {
List&Photo& result = new ArrayList&Photo&();
HttpClient client = new HttpClient();
System.out.println(&相册名字:& + album.getId());
String getUri = phpUrl + qq + &&albumid=& + album.getId()
+ &&outstyle=json&;
HttpMethod method = new GetMethod(getUri);
method.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,
int status = 0;
status = client.executeMethod(method);
if (status != HttpStatus.SC_OK) {
System.err.println(&发生网络错误!&);
} catch (HttpException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
InputStream is =
BufferedReader br =
InputStreamReader isr =
List&String& names = new ArrayList&String&();
List&String& urls = new ArrayList&String&();
is = method.getResponseBodyAsStream();
isr = new InputStreamReader(is);
br = new BufferedReader(isr);
String temp =
boolean sign =
while ((temp = br.readLine()) != null) {
int len = temp.length();
if (temp.contains(&\&pic\& : [&)) {
if (sign && temp.contains(&\&name\& :&)) {
String name = temp.substring(
temp.indexOf(&\&name\& :&) + 10, len - 2);
names.add(name);
if (temp.contains(&\&url\& :&)) {
String url = temp.substring(temp.indexOf(&\&url\& :&) + 9,
urls.add(url);
if (temp.contains(& ],&)) {
} catch (IOException e) {
e.printStackTrace();
} finally {
method.releaseConnection();
br.close();
isr.close();
is.close();
} catch (IOException e) {
e.printStackTrace();
for (int i = 0; i & names.size(); i++) {
Photo photo = new Photo();
photo.setName(names.get(i));
photo.setUrl(urls.get(i));
photo.setAlbum(album);
result.add(photo);
* 通过uri下载远程图片到本地
* @param 要保存的图片名(非路径)
public void saveImgFromUrl(Photo photo, String qq) {
URL imgurl =
BufferedInputStream bis =
OutputStream os =
// imgurl = new URL(photo.getUrl());
String phpUrl = photo.getUrl();
phpUrl = phpUrl.replace(&\\&, &&);
imgurl = new URL(phpUrl);
bis = new BufferedInputStream(imgurl.openStream());
byte[] buffer = new byte[512];
File path = new File(savePath + &//& + qq + &//&
+ photo.getAlbum().getName().trim());
if (!path.exists()) {
path.mkdirs();
os = new FileOutputStream(new File(path, photo.getName().trim()
+ &.jpeg&));
int len = 0;
while ((len = bis.read(buffer)) & 0) {
os.write(buffer, 0, len);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
bis.close();
os.flush();
os.close();
} catch (IOException e) {
e.printStackTrace();
* 下载一个相册的图片
* @param index 相册序号
public void savePhoto(final int index, final String qq) {
Album album = albums.get(index);
if(album.getName().indexOf(&微博&)&=0){
System.out.println(&微博相册不下载&);
List&Photo& photosTemp = this.getPhotoByAlbum(album, qq, photobase1);
if (photosTemp == null || photosTemp.size() == 0) {
photosTemp = this.getPhotoByAlbum(album, qq, photobase2);
if (photosTemp == null || photosTemp.size() == 0) {
System.out.println(&相册信息为空&);
final List&Photo& photos = photosT
final int maxThreadCnt = 10; // 每个相册最多开启10个线程进行下载
final int total = album.getCnt();
int realThreadCnt = total &= maxThreadCnt ? maxThreadCnt : // 实际下载一个相册的线程数
* 线程驱动下载任务
* @author wensefu.jerry.Ling&br/&
class DownLoadTask implements Runnable {
// 线程标识
// 下载的图片指针
public DownLoadTask(int id, int pindex) {
this.pindex =
public void run() {
while (curIndex &= total - 1) {
int temp =
pindex = curI
curIndex++;
Photo photo = photos.get(temp);
System.out.println(&线程& + (index + 1) + &_& + id + &开始下载第& + (index + 1) + &个相册第& + (pindex + 1) + &张图片...&);
saveImgFromUrl(photo, qq);
System.out.println(&线程& + (index + 1) + &_& + id + &完成第& + (index + 1) + &个相册第& + (pindex + 1) + &张图片下载&);
ExecutorService exec = Executors.newCachedThreadPool();
* 初始化各线程状态 此处给每个线程分配一个下载起始点
for (int i = 0; i & realThreadC i++) {
DownLoadTask task = new DownLoadTask(i + 1, i);
exec.execute(task);
exec.shutdown();
public static void main(String[] args) {
PhotoDownLoad pdl = new PhotoDownLoad();
String qq = &*******&;
albums = pdl.getAlbums(qq, albumbase1);
if (albums == null || albums.size() == 0) {
albums = pdl.getAlbums(qq, albumbase2);
if (albums == null || albums.size() == 0) {
System.out.println(&没有获取到相册&);
int len = albums.size();
System.out.println(&相册信息获取成功,用户共有& + len + &个相册.&);
for (int i = 0; i & i++) { // 考虑到相册数量不会很多,相册采用顺序下载,不使用异步下载
System.out.println(&开始下载第& + (i + 1) + &个相册...&);
pdl.savePhoto(i, qq);
pdl.curIndex = 0;
System.out.println(&第& + (i + 1) + &个相册下载完成.&);
}}复制代码
. (网站内容均来自互联网,非本站认同之观点!删除、合作请联系管理员: )
Powered by &&
运营. (法律顾问:).qq音乐里的歌 找不到下载路径 怎么下载_百度知道
qq音乐里的歌 找不到下载路径 怎么下载
我的QQ音乐里有一首歌,无法下载,说下载地址不存在,无权下载,害得我都不敢重装电脑和QQ音乐,怕那个歌不见,只能在这台电脑上听,按照歌名找也找不到,有什么办法能把这个歌下下来,能听,不能下,求高手支招!
我有更好的答案
按默认排序
打开我的电脑右键点击C盘选择搜索,在这里输入mp3,然后点搜索,看看能不能找到这首歌,能用的话加分啊!
这个直接把QQ音乐里的听过后,看看放哪里位子了。直接转换下格式不就的了。
直接对着你要下载的歌点击右键,就会出来下载路径,然后选择你要下载去的位置就可以了啊。你去试试.....
你说的是右键,然后点下载是吧,那个点了,找不到歌曲的路径,说版权不同供下载, 这个有右键下载我还是知道的,
你说的是基本的常用的方法,
鼠标右键“查看相关歌曲”。试试能不能找到。还有一个方法,就是有没有用iphone 的朋友或者你用的也是,让他下载个QQ音乐,iphone版QQ音乐:更多—听歌识曲。这个可以帮助你找到你所听到的歌曲。
其他类似问题
11人觉得有用
qq音乐的相关知识
您可能关注的推广回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁我不会下载谁告诉我怎么下载歌曲?_百度知道
我不会下载谁告诉我怎么下载歌曲?
进百度 点 MP3
然后输入你要下的歌名 然后你试听一下是不是你要的那首歌
如果对的 你就看播放那上面有个网址 在那里点鼠标右键 目标另存为‘ 然后就选存放目录 就可以下了
其他类似问题
按默认排序
其他4条回答
1 看你的mp3支持的格式,千万不要下错格式了。2
方法一 (引用一楼的)进百度 点 MP3 然后输入你要下的歌名 然后你试听一下是不是你要的那首歌 如果对的 你就看播放那上面有个网址 在那里点鼠标右键 目标另存为‘ 然后就选存放目录 就可以下了3
下载 酷我音乐盒, 试听成功后直接点击下载。4
下载 迅雷软件,在迅雷界面右上角输入要听得歌;或者就在百度mp3上搜索成功后,点左键出来一个小对话框,接着点左键即可用迅雷下载,速度比目标另存为要快很多。5
下载 电驴软件,电驴最方便的地方是如果你是某位歌迷的忠实粉丝,想把专辑一次性下完的话,可以在电驴中搜索该歌手的专辑名字,缺点是速度不是很快。
可以到百度MP3,找到自己喜欢的歌曲名字,双击右键,会出现一个新的界面,用左键单击歌曲名,会出现一个菜单,点击目标另存为,选择你要下载到的U盘就可以了。
上百度mp3搜索你要的歌曲,点试听,右键点试听上的url地址,点另存为,选择你要的类型和填好歌名,确定,ok.记好你下载的文件夹
在百度的MP3上搜索你想听的歌曲,然后在点一下你要下的歌曲名,在出现的连接上点一下就可以了,在出现的对话框里选好路径,就可以了
下载歌曲的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁51CTO视频课程推荐:
查看:2272|回复:6
不是在一个路由器内的2个QQ好友间进行QQ聊天&&信息都经过腾讯的服务器吗,信息流具体是怎么走的,给讲解下。然后怎样才能知道对方的IP地址,谢谢。 本人刚来,在学习中
:'(& &人呢& &我刚接触 求懂得&&
怎么能知道对方的IP呢& &如果是抓包的话怎么实现
版主,并不是一种荣耀,而是一种坚持 ...
你要对方的ip有什么用?
版主,并不是一种荣耀,而是一种坚持和责任!
:lol 呵呵&&干坏事啊&&
学个东西 也是挺好的
这有何难,用显IP QQ .或者用抓包软件,还能IP 雷达,
发截图的时候抓包
中级工程师
显IP 版本QQ!}

我要回帖

更多关于 网络抓包工具 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信