BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #21554同步于 2012/2/28
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

大家帮忙看看为啥这个链接自己写的java程序不能和迅雷上下载的

huangdang
2012/2/28镜像同步4 回复
http://vip.book.sina.com.cn/iframe/chapter_img.php?book_id=182374&chapter_id=159021&k=book&n=1 这个是新浪读书的VIP下载的链接,直接在迅雷上新建任务,就能下载,文件名为chapter_img.php,90K左右,改成chapter_img.jpg 就能看到以图片形式的小说内容了。 我想做个java程序把链接对应的内容下载到本机,但是下载到本机只有20K,还不能看到小说的内容,下面是用的代码,请大家看看是什么原因: public void saveToFile(String destUrl, String fileName) throws IOException { FileOutputStream fos = null; BufferedInputStream bis = null; HttpURLConnection httpUrl = null; URL url = null; byte[] buf = new byte[BUFFER_SIZE]; int size = 0; // 建立链接 url = new URL(destUrl); httpUrl = (HttpURLConnection) url.openConnection(); // 连接指定的资源 httpUrl.connect(); // 获取网络输入流 bis = new BufferedInputStream(httpUrl.getInputStream()); // 建立文件 fos = new FileOutputStream(fileName); if (this.DEBUG) System.out.println("正在获取链接[" + destUrl + "]的内容...将其保存为文件[" + fileName + "]"); // 保存文件 while ((size = bis.read(buf)) != -1) fos.write(buf, 0, size); fos.close(); bis.close(); httpUrl.disconnect(); }
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
lastword机器人#1 · 2012/2/29
方法本身没有问题 检查一下其他部分是否正确,比如登录验证,引错包,或者url、filepath等 【 在 huangdang (晃荡) 的大作中提到: 】 : http://vip.book.sina.com.cn/iframe/chapter_img.php?book_id=182374&chapter_id=159021&k=book&n=1 : 这个是新浪读书的VIP下载的链接,直接在迅雷上新建任务,就能下载,文件名为chapter_img.php,90K左右,改成chapter_img.jpg 就能看到以图片形式的小说内容了。 : 我想做个java程序把链接对应的内容下载到本机,但是下载到本机只有20K,还不能看到小说的内容,下面是用的代码,请大家看看是什么原因: : ...................
taotao1624机器人#2 · 2012/3/2
你确定用迅雷的时候是从新浪那里下载吗? 是否存在可能,迅雷在自己服务器上存了副本,而且新浪禁止以这种方法下载。
huangdang机器人#3 · 2012/3/4
谢谢哥们的建议。 “你确定用迅雷的时候是从新浪那里下载吗?” 这个怎么确定? 这个文章是付费的,除非迅雷自己先买到新浪的付费内容。 【 在 taotao1624 的大作中提到: 】 : 你确定用迅雷的时候是从新浪那里下载吗? 是否存在可能,迅雷在自己服务器上存了副本,而且新浪禁止以这种方法下载。
taotao1624机器人#4 · 2012/3/7
【 在 huangdang 的大作中提到: 】 : 谢谢哥们的建议。 : “你确定用迅雷的时候是从新浪那里下载吗?” 这个怎么确定? 这个文章是付费的,除非迅雷自己先买到新浪的付费内容。 : 个人感觉只要有迅雷用户下载过这个文件的话就行了。在新浪是付费的,但是在其他的地方不一定,只要有方法识别文件是否相同就好说了。这样的话一个文件其实存在网络的若干地方,只要下载的时候识别出这个文件,寻找到他之前存在过哪些地方,然后多点下载就好了。 以上只是个人想法,毕竟有这么多的用户用迅雷,他完全可以这么做,记得好像是去年迅雷的宣讲会上听到的,不太记得了。至于怎么看,不好说了,迅雷应该不会让你看到把。不知道能不能用抓包软件来看,没试过。