cowtransfer(奶牛快传)自动上传文件脚本—流程分析
cowtransfer(奶牛快传)自动上传文件脚本—流程分析
序言:
距离上传发文也有几天了,这几天也是将这个脚本优化了一下。如果还不清楚这个脚本的效果是怎么样的小伙伴可以看看我上篇文章。话不多说,我们之间进入正题。
在任何编写任何脚本前,我们都需要明确目标,然后基于目标去分析流程,最后代码实现。本文章先进行流程分析,一步步的分析。
流程分析:
首先我们来看看它的主界面:
可以看到它是支持添加文件或文件夹的。那我们分别上传文件和文件夹,同时文件夹里又可能有子文件夹和文件,因此我们需要对比它们请求过程是不是一样的或者相似的。
(一)请求对比
上传单个文件时的请求:
上传单个文件夹(文件夹只包括单个文件)时的请求:
上传单个文件夹(文件夹里有子文件夹和文件)时的请求:
从这三张图片对比不难发现不论是那种情况它的请求流程都差不多。那我们只需要找到一些关键的请求然后将其模拟就行。
(二)文件流程
那ta这个网站的文件上传的流程到底是什么?根据我的分析:此网站文件上传的流程大致有五步:
1.上传文件夹或文件相关权限 (是否能被下载等)
2.获取关键参数 (服务器存储名,位置等一些关键参数)
3.上传文件夹或文件 (这一步最关键,也最难)
4.上传文件信息 (文件大小,文件路径等)
5.从服务器获取上传文件
对应图片里的请求分别是:
1.transfer(相关权限)
2.tokens(关键参数)
3)folders(文件夹信息)
3.xxxx.xxx(上传文件)
4.flies(文件信息)
5.uploaded(已上传文件)
至此大致流程已分析完毕,接下来就是参数分析,以及代码模拟。制作不易还请大家评论收藏,谢谢。
cowtransfer(奶牛快传)自动上传文件脚本—流程分析的更多相关文章
- ftp/sftp定时自动上传文件脚本(CentOS)
1.ftp自动上传文件脚本 #!/bin/bash ftp -n<<! open 192.168.220.129 user ls toor binary hash cd /path/to/ ...
- Android中measure过程、WRAP_CONTENT详解以及 xml布局文件解析流程浅析
转自:http://www.uml.org.cn/mobiledev/201211221.asp 今天,我着重讲解下如下三个内容: measure过程 WRAP_CONTENT.MATCH_PAREN ...
- PHP实现下载功能之流程分析
客户端从服务端下载文件的流程分析: 浏览器发送一个请求,请求访问服务器中的某个网页(如:down.php),该网页的代码如下. 服务器接受到该请求以后,马上运行该down.php文件 运行该文件的时候 ...
- Php中文件下载功能实现超详细流程分析
浏览器发送一个请求,请求访问服务器中的某个网页(如:down.php),该网页的代码如下 客户端从服务端下载文件的流程分析: 浏览器发送一个请求,请求访问服务器中的某个网页(如:down.php) ...
- 【转】FTP自动上传文件的perl脚本以及配置文件
这个perl文件将执行的任务是, 按照指定的文件夹目录,自动将该文件夹下的所有文件上传到指定ftp站点的指定目录下 本应用程序设计的几个基本理念是:工具箱再利用:尽可能利用已有的工具:简化运行步骤:不 ...
- 文件上传漏洞演示脚本之js验证
文件上传漏洞演示脚本之js验证 0 0 716 关于文件上传漏洞,想必玩web安全的同学们都有接触,之前本站也发布过一篇文章介绍文件上传漏洞的各种绕过方法,但是只是有文档却没有演示代码 ...
- QQ上传大文件为什么这么快
今天和同事在群里讨论“QQ上传大文件/QQ群发送大文件时,可以在极短的时间内完成”是如何做到的. 有时候我们通过QQ上传一个几百M的文件,竟然只用了几秒钟,从带宽上限制可以得出,实际上传文件是不可能的 ...
- Spring 文件上传MultipartFile 执行流程分析
在了解Spring 文件上传执行流程之前,我们必须知道两点: 1.Spring 文件上传是基于common-fileUpload 组件的,所以,文件上传必须引入此包 2.Spring 文件上传需要在X ...
- linux文件系统启动流程、启动脚本
linux文件系统启动流程.启动脚本 下面是一张Linux启动流程图: 在了解启动流程之前,我们应该先知道系统的几个重要脚本和配置文件,他们对应的路径为: 1. /sbin/init 2. /etc/ ...
- Loadrunner上传文件与下载文件脚本
Loadrunner上传文件与下载文件脚本 一. 上传脚本 Action() { int uploadImgStatus = 0; //获取上传产品图ID web_reg_save_param_ex( ...
随机推荐
- 说说真实Java项目的开发流程,以及面试前的项目准备说辞
介绍项目是必不可少的Java面试环节,求职者需要借此证明自己真实Java项目的经验,如果再做的好的话,需要借此展开自己的亮点说辞. 不过之前如果只有学习项目经验,比如是自己跑通一个项目,或者是在培训班 ...
- 我做了第一个ChatGPT .net api聊天库
最近这个ChatGPT很火啊,看了B站上很多视频,自己非常手痒,高低自己得整一个啊,但是让我很难受的是,翻遍了github前十页,竟然没有一个C#的ChatGPT项目,我好难受啊!那能怎么办?自己搞一 ...
- PyTorch复现GoogleNet学习笔记
PyTorch复现GoogleNet学习笔记 一篇简单的学习笔记,实现五类花分类,这里只介绍复现的一些细节 如果想了解更多有关网络的细节,请去看论文<Going Deeper with Conv ...
- kali使用命令ifconfig查询ip地址一直为127.0.0.1的解决办法
解决方法: 执行命令:dhclient -v,即可解决
- vue 组件之间传值(父传子,子传父)
1.父传子 基本就用一个方式,props Father.vue(用v-bind(简写 : ) 将父组件传的值绑定到子组件上) <template> <div> 我是爸爸:{{ ...
- MongoDB从入门到实战之MongoDB工作常用操作命令
前言: 上一章节我们快速的在Docker容器中安装了MongoDB,并且通过Navicat MongoDB可视化管理工具快速的连接.创建数据库.集合以及添加了文档数据源.这一章节我们主要是了解一下在日 ...
- 《Effective C++》模版与泛型编程
Item41:了解隐式接口和编译期多态. 纵使你从未使用过templates,应该不陌生"运行期多态"和"编译期多态"之间的差异.因为它类似于"哪一个 ...
- 1.31 wlx 魔怔 9 解法交互题小结
参考题解地址 1. 从树上任意一个节点开始,跳到其随机一个后代,跳到叶子的期望次数为 \(H_{siz_u}=\ln(siz_u)\). 证明: 首先考虑一条链的情况.设在第 \(i\) 个点期望次数 ...
- 基于Docker安装的Stable Diffusion使用CPU进行AI绘画
基于Docker安装的Stable Diffusion使用CPU进行AI绘画 由于博主的电脑是为了敲代码考虑买的,所以专门买的高U低显,i9配核显,用Stable Diffusion进行AI绘画的话倒 ...
- 腾讯出品小程序自动化测试框架【Minium】系列(五)API详解(中)
写在前面 又有好久没更新小程序自动化测试框架Minium系列文章了,主要真的太忙,尽量做到每周一更吧,还请大家能够理解! 上篇文章为大家分享关于Minium中Minium.App模块的API 使用,接 ...