文章首发于:clawhub.club


最近在研究图床应用,一直在用简书写文章,当然也会想拿简书来测试一下图床。
首先观察图片上传所出发的API接口,发现有两条比较重要的:
###1,获取Token和Key
GET请求:
https://www.jianshu.com/upload_images/token.json?filename=test.jpg
请求头中需要有:
user-agent=Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36
cookie=remember_user_token=XXXXXXXXXXXXXXXXXX

注意:难点来了,如何获取remember_user_token!!!只有登陆过后简书才会将此信息写入cookie,有效期在一个月的样子,目前还不清楚他后台会不会强制刷新token,如果不刷新,那bub就大了。本来想做做模拟登陆,但是还得用验证码,太麻烦了,就测试着玩玩好了。
remember_user_token.png
返回:
{
“token”: “xxxxxxxxxxx”,
“key”: “xxxxxxxxx”
}
此token具有时效性,而且信息特别长,没有研究,但是感觉是将一些基础信息放到token里了,类似JWT。

2,根据上一步获取的信息,上传图片

POST请求:
https://upload.qiniup.com/
token:上一部获取的token
key:上一部获取的key
file:要上传的文件

返回:
{
“format”: “jpeg”,
“height”: 494,
“url”: “http://upload-images.jianshu.io/upload_images/xxxxxxxxxxxxx.jpg“,
“width”: 656
}

总结:如果remember_user_token获取方便的话,简书的图床用起来应该也不错,代码有空再写,本文主要分析一下。