All Projects → wxynihao → Book118 Downloader

wxynihao / Book118 Downloader

Licence: mit
基于java的book118文档下载器

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Book118 Downloader

Httpclientfactory
safe HttpClient For netcore And netframework
Stars: ✭ 64 (-65.78%)
Mutual labels:  httpclient
Httpclient Interception
A .NET Standard library for intercepting server-side HTTP dependencies
Stars: ✭ 108 (-42.25%)
Mutual labels:  httpclient
Http Api Invoker
一个让http接口调用跟调用本地方法一样自然优雅的项目
Stars: ✭ 147 (-21.39%)
Mutual labels:  httpclient
Rest Client
A tool for automated testing REST API, generating exquisite testing report and REST API documentation.
Stars: ✭ 1,181 (+531.55%)
Mutual labels:  httpclient
Resty
The minimalist framework of RESTful(server and client) - Resty
Stars: ✭ 1,268 (+578.07%)
Mutual labels:  httpclient
Milkomeda
Spring extend componets which build from experience of bussiness, let developers to develop with Spring Boot as fast as possible.(基于Spring生态打造的一系列来自业务上的快速开发模块集合。)
Stars: ✭ 117 (-37.43%)
Mutual labels:  httpclient
Ionic3 Angular43 Httpclient
Example of Ionic 3 and the new Angular 4.3 HTTPClient
Stars: ✭ 20 (-89.3%)
Mutual labels:  httpclient
Tiny.restclient
Simpliest Fluent REST client for .NET
Stars: ✭ 158 (-15.51%)
Mutual labels:  httpclient
Api Client Generator
Angular REST API client generator from Swagger YAML or JSON file with camel case settigs
Stars: ✭ 92 (-50.8%)
Mutual labels:  httpclient
Funiture
慕课网课程推荐 Java并发编程与高并发解决方案:http://coding.imooc.com/class/195.html Java开发企业级权限管理系统:http://coding.imooc.com/class/149.html github: https://github.com/kanwangzjm/funiture, spring项目,权限管理、系统监控、定时任务动态调整、qps限制、sql监控(邮件)、验证码服务、短链接服务、动态配置等
Stars: ✭ 1,786 (+855.08%)
Mutual labels:  httpclient
Fluentlyhttpclient
Http Client for .NET Standard with fluent APIs which are intuitive, easy to use and also highly extensible.
Stars: ✭ 73 (-60.96%)
Mutual labels:  httpclient
House
微信公众号:程序员博博。有完整版的PDF下载。
Stars: ✭ 85 (-54.55%)
Mutual labels:  httpclient
Mootool
A handy tool set for developers. 开发者常备小工具
Stars: ✭ 141 (-24.6%)
Mutual labels:  httpclient
Cashew
A simple and elegant yet powerful HTTP client cache for .NET
Stars: ✭ 70 (-62.57%)
Mutual labels:  httpclient
Heimdall
An enhanced HTTP client for Go
Stars: ✭ 2,132 (+1040.11%)
Mutual labels:  httpclient
Sttp
The Scala HTTP client you always wanted!
Stars: ✭ 1,078 (+476.47%)
Mutual labels:  httpclient
Webapiclient
An open source project based on the HttpClient. You only need to define the c# interface and modify the related features to invoke the client library of the remote http interface asynchronously.
Stars: ✭ 1,618 (+765.24%)
Mutual labels:  httpclient
Httpclientutil
HttpClient工具类,简单轻松的实现get,post,put和delete请求
Stars: ✭ 165 (-11.76%)
Mutual labels:  httpclient
Curlsharp
CurlSharp - .Net binding and object-oriented wrapper for libcurl.
Stars: ✭ 153 (-18.18%)
Mutual labels:  httpclient
Httptracer
Stars: ✭ 142 (-24.06%)
Mutual labels:  httpclient

1. 概述

book118-downloader 下载

这是一个用于下载book118可预览文档的下载器(暂不支持ppt和收费才能预览的文件)。

该项目基于java开发,使用httpclient进行下载,使用itex进行pdf的生成。

2. 使用手册

  1. 下载解压

  2. 双击run.bat即可运行该软件,如果不能运行请检查是否已安装jre 8+(Java Runtime Environment)

  3. 文档编号是预览页链接中最后的数字如:https://max.book118.com/html/2017/0611/113657916.shtm ,文档编号就是113657916。

  4. 输入编好后需要获取下载链接,文件页数越多等待越长,请耐心等待,开始下载后会有进度提示。

  5. 下载完成的文件存放在out文件夹中。

如有问题,可至github 查看Bug Fix,或提交Issue

3. 实现逻辑

做完没多久在freebuf看到有其他人的实现,做的没我好,所以自己也写了一篇,编辑答应帮我调格式我就没要稿费了。 《另一种绕过限制下载论文的思路》

该下载器的原理是通过模拟通过网页预览,获取文档的全部预览图片,然后将图片转换为pdf实现。

实现逻辑主要围绕网站的两个js函数展开,这两个函数在resources/temp.js中。 openFull用于获取预览起始页,getNextPage用于获取后面的页。通过这两个函数就可以获取到一个文档的全部预览图片的地址。

4. Bug Fix

  • todo

ppt的下载

  • 2019/03/13

修复 issue#3 下载

  • 2018/11/17

修复某些时候URL拼接不正确导致的下载失败(156906400 下载失败)

  • 2018/11/11

修改为异步下载,不再需要等待获取全部页面链接

  • 2018/9/14

优化提示信息的显示 网盘下载

  • 2018/9/12

修改viewHost为根据返回值获取 网盘下载

  • 2018/9/7

基于hutool重构代码

  • 2018/6/26

修改结束字符变成Over后,获取页数不能停止,导致下载失败的问题。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].