bac

获取当前话全部图片地址

https://manga.bilibili.com/twirp/comic.v1.Comic/GetImageIndex

请求方式:POST

认证方式:Cookie(SESSDATA)/ APP

URL参数:

参数名 类型 内容 必要性 备注
access_key str APP登录凭证 必要 使用APP鉴权方式时必填
appkey str cc8617fd6961e070 非必要  
mobi_app str android_comic 非必要  
version str 4.21.0 非必要  
build str 36421000 非必要  
channel str bilicomic 非必要  
platform str android 非必要  
device str android 非必要  
buvid str XY118701XXXXXXXXX104911DXXXXXCAEXXXXE 非必要 长度为37
machine str   非必要 手机品牌+型号
is_teenager num 0 非必要  
no_recommend num 0 非必要  
ts num 秒级时间戳 非必要  

正文参数( application/json ):

参数名 类型 内容 必要性 备注
epId(ep_id) num 当前话的id 必要  

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
msg str 错误信息  
data obj    

data 对象:

字段 类型 内容 备注
path str .index 文件路径  
images array 本话图片信息  
last_modified str 本话信息最后修改时间  
host str https://manga.hdslb.com  
video obj    

images 数组中的对象:

字段 类型 内容 备注
path str 图片的路径 不包含host
x num 图片宽度 单位:像素px
y num 图片高度 单位:像素px
video_path str    
video_size str    

video 对象:

字段 类型 内容 备注
svid str    
filename str    
route str    
resource array    
raw_width str    
raw_height str    
raw_rotate str    
img_urls array    
bin_url str    
img_x_len num    
img_x_size num    
img_y_len num    
img_y_size num    

示例:

curl -L -X POST 'https://manga.bilibili.com/twirp/comic.v1.Comic/GetImageIndex' \
-H 'Cookie: SESSDATA=xxx;' \
-H 'Content-Type: application/json' \
--data-raw '{
    "ep_id": 321912
}'
查看响应示例: ```json { "code": 0, "msg": "", "data": { "path": "/bfs/manga/26564/321912/data.index?token=80eab62fef85c1c134a6399f817a938f&ts=63404145", "images": [ { "path": "/bfs/manga/11e404e602fa9f709bfb89d692ac56d2e17f974d.jpg", "x": 1600, "y": 2268, "video_path": "", "video_size": "0" }, { "path": "/bfs/manga/bf1c48540b68f473b429317d8f6fa8cdb6eed3a5.jpg", "x": 1600, "y": 2268, "video_path": "", "video_size": "0" }, { "path": "/bfs/manga/a46cfe90cfb49c67a4dbfc0002e5bc3d87d02963.jpg", "x": 1600, "y": 2268, "video_path": "", "video_size": "0" } ], "last_modified": "2019-05-13 21:15:53", "host": "https://manga.hdslb.com", "video": { "svid": "", "filename": "", "route": "", "resource": [], "raw_width": "0", "raw_height": "0", "raw_rotate": "0", "img_urls": [], "bin_url": "", "img_x_len": 10, "img_x_size": 160, "img_y_len": 10, "img_y_size": 90 } } } ```

获取某一图片的token

https://manga.bilibili.com/twirp/comic.v1.Comic/ImageToken

请求方式:POST

认证方式:Cookie(SESSDATA)/ APP

URL参数:

参数名 类型 内容 必要性 备注
access_key str APP登录凭证 必要 使用APP鉴权方式时必填
appkey str cc8617fd6961e070 非必要  
mobi_app str android_comic 非必要  
version str 4.21.0 非必要  
build str 36421000 非必要  
channel str bilicomic 非必要  
platform str android 非必要  
device str android 非必要  
buvid str XY118701XXXXXXXXX104911DXXXXXCAEXXXXE 非必要 长度为37
machine str samsung+SM-G9730 非必要 手机品牌+型号
is_teenager num 0 非必要  
no_recommend num 0 非必要  
ts num 秒级时间戳 非必要  

正文参数( application/json ):

参数名 类型 内容 必要性 备注
urls str 请求token的图片地址 必要 [\"https://i0.hdslb.com{path}\"]
{path}代表图片的相对网站路径,支持jpg和webp

json回复:

根对象:

字段 类型 内容 备注
code num 返回值 0:成功
msg str 错误信息  
data array    

data 数组中的对象:

字段 类型 内容 备注
url str 图片下载的地址 此时网址开头 https://manga.hdslb.com
token str 图片下载需要的token  

示例:

curl -L -X POST 'https://manga.bilibili.com/twirp/comic.v1.Comic/ImageToken' \
-H 'Cookie: SESSDATA=xxx;' \
-H 'Content-Type: application/json' \
--data-raw '{
    "urls": "[\"https://i0.hdslb.com/bfs/manga/11e404e602fa9f709bfb89d692ac56d2e17f974d.jpg\"]"
}'
查看响应示例: ```json { "code": 0, "msg": "", "data": [ { "url": "https://manga.hdslb.com/bfs/manga/11e404e602fa9f709bfb89d692ac56d2e17f974d.jpg", "token": "36931815abb35857627a22c347dc1c86&ts=634045c2" } ] } ```

下载图片

请求方式:GET

在上一步获取token的基础上,构建如下的url

例如获取到此token

{
  "code": 0,
  "msg": "",
  "data": [
    {
      "url": "https://manga.hdslb.com/bfs/manga/11e404e602fa9f709bfb89d692ac56d2e17f974d.jpg",
      "token": "36931815abb35857627a22c347dc1c86&ts=634045c2"
    }
  ]
}

则访问以下网址即可,注意需要添加?token=。此网址有效期较短

https://manga.hdslb.com/bfs/manga/11e404e602fa9f709bfb89d692ac56d2e17f974d.jpg?token=36931815abb35857627a22c347dc1c86&ts=634045c2

:若不加取图 Token 直接访问 https://(i0|i1).hdslb.com/bfs/(manga|new_dyn|archive)/11e404e602fa9f709bfb89d692ac56d2e17f974d.jpg均无法获取