已解决
一些文档上传网站实现原理的分析
来自网友在路上 169869提问 提问时间:2023-09-19 11:02:26阅读次数: 69
最佳答案 问答题库698位专家为你答疑解惑
背景说明
很多网站都有文档上传功能,如百度文库,原创力,当然也有宇宙闻名的CSDN小猴子网站。如果我们要批量大规模上传文档,手工方式比较低效。自动上传的话,又缺乏网站的API,那只能自己分析上传流程,然后程序模拟了。
Book118原创力
原创力网站采用的是直接HTTP上传multipart/form-data数据方式。
该网站登录无验证码,容易模拟登录,然后获取相应的token,即可实现自动化上传了。
CSDN
采用阿里云的OSS JS SDK(aliyun-sdk-js)上传,需要相应的api key。
主要的请求流程
- https://bizapi.csdn.net/download-console-api/v1/user/sources/getAuthorized
需要两个参数fileMd5和fileSize - oss上传:https://csdn-dl-data.oss-cn-beijing.aliyuncs.com
- 提交文档其它信息:https://upload.csdn.net/v1/user/sources/saveSource
通过Devtool里观察请求,可以看到oss js client上传的地址为https://csdn-dl-data.oss-cn-beijing.aliyuncs.com/down11/20230918/e92fda210d61b278e7165bfb8e17b025.pdf?uploads=,采用XHR断点,观察调用栈,结合OSS JS SDK的说明,可以推断出它采用的是分片上传,调用的是multipartUpload()方法,于是设置断点:
即可看到三个主要参数keyId, keySecret和token,这些是临时的会话秘钥信息。
这个三个参数什么时候传递到客户端的?可以采用拦截器搜索一下:
我们采用Hetty作为代理,然后搜accessKeyId的值,即可发现getAuthorized请求时会传回这两个值。
相关链接
- 阿里云OSS SDK
查看全文
99%的人还看了
相似问题
- Docker篇之利用docker搭建ftp服务器可实现多用户上传
- 【Vue3】解决Vue打包后上传服务器 资源路径加载错误
- 推荐一个windows上传linux服务器/linux服务器的docker镜像的工具,摆脱docker cp,以及解决常见问题。
- git 将本地已有的一个项目上传到新建的git仓库的方法
- 微信小程序发货信息录入接口 错误上传时间非法,请按照 RFC 3339 格式填写?
- 如何防止研发把代码上传到私人gitee/github?
- 中间件安全:Apache Tomcat 文件上传.(CVE-2017-12615)
- git下载安装配置及Git在Gitee上拉取和上传代码教程
- 文件上传漏洞(CVE-2022-23043)
- react 手机端 rc-table列隐藏(根据相关条件是否隐藏)、实现图片上传操作
猜你感兴趣
版权申明
本文"一些文档上传网站实现原理的分析":http://eshow365.cn/6-9283-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: 【pytest】conftest.py使用
- 下一篇: 《C和指针》笔记25: 函数原型(函数声明)