cowtransfer(奶牛快传)自动上传文件脚本—流程分析

序言:

  距离上传发文也有几天了,这几天也是将这个脚本优化了一下。如果还不清楚这个脚本的效果是怎么样的小伙伴可以看看我篇文章。话不多说,我们之间进入正题。

在任何编写任何脚本前,我们都需要明确目标,然后基于目标去分析流程,最后代码实现。本文章先进行流程分析,一步步的分析。

流程分析:

  首先我们来看看它的主界面:

  可以看到它是支持添加文件或文件夹的。那我们分别上传文件和文件夹,同时文件夹里又可能有子文件夹和文件,因此我们需要对比它们请求过程是不是一样的或者相似的。

  (一)请求对比

    上传单个文件时的请求:

    上传单个文件夹(文件夹只包括单个文件)时的请求:

    上传单个文件夹(文件夹里有子文件夹和文件)时的请求:

    从这三张图片对比不难发现不论是那种情况它的请求流程都差不多。那我们只需要找到一些关键的请求然后将其模拟就行。

  (二)文件流程

    那ta这个网站的文件上传的流程到底是什么?根据我的分析:此网站文件上传的流程大致有五步:

      1.上传文件夹或文件相关权限 (是否能被下载等)

      2.获取关键参数 (服务器存储名,位置等一些关键参数)

      3.上传文件夹或文件 (这一步最关键,也最难)

      4.上传文件信息 (文件大小,文件路径等)

      5.从服务器获取上传文件

    对应图片里的请求分别是:

      1.transfer(相关权限)

      2.tokens(关键参数)

      3)folders(文件夹信息)

      3.xxxx.xxx(上传文件)

      4.flies(文件信息)

      5.uploaded(已上传文件)

    至此大致流程已分析完毕,接下来就是参数分析,以及代码模拟。制作不易还请大家评论收藏,谢谢。

cowtransfer(奶牛快传)自动上传文件脚本—流程分析的更多相关文章

  1. ftp/sftp定时自动上传文件脚本(CentOS)

    1.ftp自动上传文件脚本 #!/bin/bash ftp -n<<! open 192.168.220.129 user ls toor binary hash cd /path/to/ ...

  2. Android中measure过程、WRAP_CONTENT详解以及 xml布局文件解析流程浅析

    转自:http://www.uml.org.cn/mobiledev/201211221.asp 今天,我着重讲解下如下三个内容: measure过程 WRAP_CONTENT.MATCH_PAREN ...

  3. PHP实现下载功能之流程分析

    客户端从服务端下载文件的流程分析: 浏览器发送一个请求,请求访问服务器中的某个网页(如:down.php),该网页的代码如下. 服务器接受到该请求以后,马上运行该down.php文件 运行该文件的时候 ...

  4. Php中文件下载功能实现超详细流程分析

    浏览器发送一个请求,请求访问服务器中的某个网页(如:down.php),该网页的代码如下   客户端从服务端下载文件的流程分析: 浏览器发送一个请求,请求访问服务器中的某个网页(如:down.php) ...

  5. 【转】FTP自动上传文件的perl脚本以及配置文件

    这个perl文件将执行的任务是, 按照指定的文件夹目录,自动将该文件夹下的所有文件上传到指定ftp站点的指定目录下 本应用程序设计的几个基本理念是:工具箱再利用:尽可能利用已有的工具:简化运行步骤:不 ...

  6. 文件上传漏洞演示脚本之js验证

    文件上传漏洞演示脚本之js验证 0 0       716   关于文件上传漏洞,想必玩web安全的同学们都有接触,之前本站也发布过一篇文章介绍文件上传漏洞的各种绕过方法,但是只是有文档却没有演示代码 ...

  7. QQ上传大文件为什么这么快

    今天和同事在群里讨论“QQ上传大文件/QQ群发送大文件时,可以在极短的时间内完成”是如何做到的. 有时候我们通过QQ上传一个几百M的文件,竟然只用了几秒钟,从带宽上限制可以得出,实际上传文件是不可能的 ...

  8. Spring 文件上传MultipartFile 执行流程分析

    在了解Spring 文件上传执行流程之前,我们必须知道两点: 1.Spring 文件上传是基于common-fileUpload 组件的,所以,文件上传必须引入此包 2.Spring 文件上传需要在X ...

  9. linux文件系统启动流程、启动脚本

    linux文件系统启动流程.启动脚本 下面是一张Linux启动流程图: 在了解启动流程之前,我们应该先知道系统的几个重要脚本和配置文件,他们对应的路径为: 1. /sbin/init 2. /etc/ ...

  10. Loadrunner上传文件与下载文件脚本

    Loadrunner上传文件与下载文件脚本 一. 上传脚本 Action() { int uploadImgStatus = 0; //获取上传产品图ID web_reg_save_param_ex( ...

随机推荐

  1. Python使用pipreqs生成requirements.txt

    当一个Python完成后,若要在新环境下运行,往往需要重新安装各种包依赖,这就需要记录当前环境下所用到的包.包的版本等,非常麻烦,这里介绍一种方法,可以较为快速便捷地生成requirements.tx ...

  2. python 爬虫可视化,天气

    网站地址='https://lishi.tianqi.com/chengdu/201704' import matplotlib.pyplot as plt import requests from ...

  3. ★k倍区间【第八届蓝桥杯省赛C++B组,第八届蓝桥杯省赛JAVAB组】

    k倍区间 给定一个长度为 \(N\) 的数列,\(A1,A2,-AN\),如果其中一段连续的子序列 \(Ai,Ai+1,-Aj\) 之和是 \(K\) 的倍数,我们就称这个区间 \([i,j]\)是 ...

  4. VUEX 使用学习三 : mutations

    转载请注明出处: 在 Vuex 中 store 数据改变的唯一方法就是提交 mutations.mutations里面装着一些改变数据方法的集合,这是Vuex 设计很重要的一点,就是把处理数据逻辑方法 ...

  5. python读取kafka,输出到Vertica数据库

    # 主测试 # https://docs.python.org/2/library/json.html import sys import json import vertica_python imp ...

  6. VUE基础之:visible.sync-模态框显示隐藏、elementUI dialog组件报错或者visible属性不生效问题

    VUE基础之:visible.sync-模态框显示隐藏.elementUI dialog组件报错或者visible属性不生效问题 这篇文档存成草稿2年了,最近终于有时间拉出来写完了.... 我们日常开 ...

  7. Python开发的常用组件

    1. 生成6位数字随机验证码 import random import string def num_code(length=6): """ 生成长度为length的数字 ...

  8. win32com操作word API精讲 第七集 Range(五)字体格式精讲

    本课程<win32com操作word API精讲&项目实战>视频平台以视频为主,本平台以文字为主,公众号ID:一灯编程 本节课主要讲解使用Range操作Font接口中的字体.字号. ...

  9. DML_修改数据

    DML_修改数据 修改数据: 语法: update 表名 set 列名1 = 值1,列名2 = 值2, ... [ where 条件 ] ; 注意: 1. 如果不加任何条件,则会将表中所有记录全部修改 ...

  10. 主线程-创建Thread类的子类

    主线程 Java使用java.lang.Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例.每个线程的作用是完成一定的任务,实际上就是执行一段程序流即一段顺序执行的代码.Jav ...