mimtproxy的使用(windows)
1.安装
pip3 install mitmproxy
或者下载安装指定版本:https://mitmproxy.org/downloads/
2.配置证书
对于mitmproxy来说,如果想要截获HTTPS请求,就需要设置证书。mitmproxy在安装后会提供一套CA证书,只要客户端信任了mitmproxy提供的证书,就可以通过 mitmproxy获取HTTPS请求的具体内容,否则mitmproxy是无法解析HTTPS请求的。
首先,运行以下命令产生CA证书,并启动mitmdump:
mitmdump
然后就可以搜索.mitmproxy文件夹

点击mitmproxy-ca.p12进行安装,安装到受信任的根目录。。那个文件夹。
但是我这边的没有那个引导选项,我就这么做
打开ie浏览器
选择intnet选项
点击内容选项卡
点击证书
点击受信任的根证书颁发者
点击导入
选择我们要导入的证书



至于手机端就是和电脑在同一局域网,并设置电脑ip+8080为代理
然后访问
mitm.it
下载证书,安装证书
3.使用
脚本简单使用
import json
def response(flow):
# 这个别问为啥了,必须这么写
url = 'www.xxx.com'
if url in flow.request.url:
text = json.loads(flow.response.content)
print(text)
把脚本保存为py文件(xx.py)
用mitmdump加载这个py文件
mitmdump -s xx.py
4.实例(当当)
当手机端和mitmproxy都下载配置好了
编写这么一个脚本(xxxx.py)
import json def response(flow):
url = 'product.mapi.dangdang.com'
page_size = 'page_size=15'
# 对url进行筛选,只选取评论的url
if url and page_size in flow.request.url:
text = flow.response.text
data = json.loads(text)
for item in data['review_list']:
# 获取用户昵称
if len(item['cust_name']) > 0:
name = item['cust_name']
else:
name = '无名'
print(item['cust_name'])
# 获取用户评分
if len(item['score']) > 0:
score = str(item['score'])
else:
score = ''
print(item['score'] + '\n')
# 获取用户评论
content = item['content'].replace(',', ',').replace('\n', '')
print(item['content'] + '\n')
# 获取用户评论时间
creation_date = item['creation_date']
print(item['creation_date'])
# 获取有用数
if len(str(item['total_helpful_num'])) > 0 :
total_helpful_num = str(item['total_helpful_num'])
else:
total_helpful_num = ''
print(item['total_helpful_num'])
# 获取无用数
if len(str(item['total_useless_num'])) > 0 :
total_useless_num = str(item['total_useless_num'])
else:
total_useless_num = ''
print(item['total_useless_num'])
# 获取评论数
if len(str(item['total_reply_num'])) > 0 :
total_reply_num = str(item['total_reply_num'])
else:
total_reply_num = ''
print(item['total_reply_num'])
print('\n')
# 将获取信息写入csv文件
with open('alive.csv', 'a+', encoding='utf-8-sig') as f:
f.write(name + ',' + score + ',' + content + ',' + creation_date + ',' + total_helpful_num + ',' + total_useless_num + ',' + total_reply_num + '\n')
利用mitmdump启动这个脚本文件
mitmdump -s xxxx.py
当手机往下滑的时候,就会出现如下的效果

脚本文件所在的位置生成这么一个文件

接下来就是连接手机(模拟器)和airtest,然后自动化操作滑动的动作了
airtest脚本
# -*- encoding=utf8 -*-
__author__ = "Administrator" from airtest.core.api import *
auto_setup(__file__) from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
poco(text="当当").click()
time.sleep()
poco(text="电子书").click()
time.sleep()
poco(name="com.dangdang.buy2:id/index_search").click()
time.sleep()
poco(name="com.dangdang.buy2:id/search_edit_input").set_text('活着')
time.sleep()
poco(name="com.dangdang.buy2:id/match_item_key").click()
time.sleep()
poco(name="com.dangdang.buy2:id/review_count_and_rate").click()
time.sleep()
poco.swipe([0.5, 0.8], [0.5, 0.2])
time.sleep()
poco.swipe([0.5, 0.8], [0.5, 0.2])
time.sleep()
poco.swipe([0.5, 0.8], [0.5, 0.2])
time.sleep()
poco(name="android.widget.TextView").click()
time.sleep()
while True:
poco.swipe([0.5, 0.8], [0.5, 0.2])
time.sleep()
mimtproxy的使用(windows)的更多相关文章
- Windows server 2012 添加中文语言包(英文转为中文)(离线)
Windows server 2012 添加中文语言包(英文转为中文)(离线) 相关资料: 公司环境:亚马孙aws虚拟机 英文版Windows2012 中文SQL Server2012安装包,需要安装 ...
- Windows Server 2012 NIC Teaming介绍及注意事项
Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...
- C# 注册 Windows 热键
闲扯: 前几日,一个朋友问我如何实现按 F1 键实现粘贴(Ctrl+V)功能,百度了一个方法,发给他,他看不懂(已经是 Boss 的曾经的码农),我就做了个Demo给他参考.今日得空,将 Demo 整 ...
- Windows 7上执行Cake 报错原因是Powershell 版本问题
在Windows 7 SP1 电脑上执行Cake的的例子 http://cakebuild.net/docs/tutorials/getting-started ,运行./Build.ps1 报下面的 ...
- 在离线环境中发布.NET Core至Windows Server 2008
在离线环境中发布.NET Core至Windows Server 2008 0x00 写在开始 之前一篇博客中写了在离线环境中使用.NET Core,之后一边学习一边写了一些页面作为测试,现在打算发布 ...
- Windows平台分布式架构实践 - 负载均衡
概述 最近.NET的世界开始闹腾了,微软官方终于加入到了对.NET跨平台的支持,并且在不久的将来,我们在VS里面写的代码可能就可以通过Mono直接在Linux和Mac上运行.那么大家(开发者和企业)为 ...
- dll文件32位64位检测工具以及Windows文件夹SysWow64的坑
自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问题.相信有很多人并不是很清楚32位程序与64位程序的区别,以及Program Files (x86),Program Files的区别 ...
- 在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)
环境准备 1.亚马逊EC2 Windows Server 2016 with Container 2.Visual Studio 2015 Enterprise(Profresianal要装Updat ...
- 1.初始Windows Server 2012 R2 Hyper-V + 系统安装详细
干啥的?现在企业服务器都是分开的,比如图片服务器,数据库服务器,redis服务器等等,或多或少一个网站都会用到多个服务器,而服务器的成本很高,要是动不动采购几十台,公司绝对吃不消的,于是虚拟化技术出来 ...
随机推荐
- isdigital()函数
函数说明: 主要用于检查其参数是否为十进制数字字符. 头文件: C——#include<ctype.h> C++——#include<cctype> 函数定义: int is ...
- golang seelog使用
golang中自带的有log包,但是功能并不能满足我们.很多人推荐seelog,我们今天一起学习下. 安装 go get github.com/cihub/seelog 快速开始 引用seelog w ...
- MOOC(2)-Django开发get、post请求,返回json数据
1.对get请求直接返回参数 如果请求多个参数,也只能返回一个参数,这里只返回了username参数 如果想要返回多个参数值,可以返回json格式数据 2.对get请求返回json数据 # views ...
- js mvvm:闲来无事,实现一个只具最基本数据双向绑定的mvvm
近期项目内用knockoutjs. 想模拟实现数据双向绑定的基本功能. 只具有最基本的功能,且很多细节未曾考虑,也未优化精简. 能想到的缺少的模块 1事件监听,自定义访问器事件 2模版 3父子级 编码 ...
- js-dom运动我有废话要说
今天整个图片上传剪切的功能 我终于不负众望不卑不亢 毫无意外的没写上 写点新得 留给N年后爱看不看的自己 咋整呢 百度之 demo一下,我就知道 屁不多放 切入正题 在js运动时候要注意布局 布局写不 ...
- [人工智能]NumPy基础
理解NumPy 本文主要介绍NumPy的基础知识,NumPy是一个功能强大的Python库,允许更高级的数据操作和数学计算. 什么是NumPy NumPy,来源自两个单词:Numerical和Pyth ...
- Swift Property
Swift中有下列几种属性 存储属性(Stored properties):存储实例的常量和变量,与类.结构体.枚举的实例相关 计算属性(Computed properties):通过某种方式计算出来 ...
- bzoj1603: [Usaco2008 Oct]打谷机 (纱布题)
Description Input Output Sample Input Sample Output Time Limit: 5 Sec Memory Limit: 64 MB Submit: 7 ...
- go微服务框架kratos学习笔记十(熔断器)
目录 go微服务框架kratos学习笔记十(熔断器) 什么是熔断 熔断器逻辑 kratos Breaker kratos 熔断逻辑 kratos熔断器使用说明 bladmaster client br ...
- 🤢保护眼睛,从更换win电脑主题开始🤢
目的: win电脑主题颜色设置为