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)的更多相关文章

  1. Windows server 2012 添加中文语言包(英文转为中文)(离线)

    Windows server 2012 添加中文语言包(英文转为中文)(离线) 相关资料: 公司环境:亚马孙aws虚拟机 英文版Windows2012 中文SQL Server2012安装包,需要安装 ...

  2. Windows Server 2012 NIC Teaming介绍及注意事项

    Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...

  3. C# 注册 Windows 热键

    闲扯: 前几日,一个朋友问我如何实现按 F1 键实现粘贴(Ctrl+V)功能,百度了一个方法,发给他,他看不懂(已经是 Boss 的曾经的码农),我就做了个Demo给他参考.今日得空,将 Demo 整 ...

  4. Windows 7上执行Cake 报错原因是Powershell 版本问题

    在Windows 7 SP1 电脑上执行Cake的的例子 http://cakebuild.net/docs/tutorials/getting-started ,运行./Build.ps1 报下面的 ...

  5. 在离线环境中发布.NET Core至Windows Server 2008

    在离线环境中发布.NET Core至Windows Server 2008 0x00 写在开始 之前一篇博客中写了在离线环境中使用.NET Core,之后一边学习一边写了一些页面作为测试,现在打算发布 ...

  6. Windows平台分布式架构实践 - 负载均衡

    概述 最近.NET的世界开始闹腾了,微软官方终于加入到了对.NET跨平台的支持,并且在不久的将来,我们在VS里面写的代码可能就可以通过Mono直接在Linux和Mac上运行.那么大家(开发者和企业)为 ...

  7. dll文件32位64位检测工具以及Windows文件夹SysWow64的坑

    自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问题.相信有很多人并不是很清楚32位程序与64位程序的区别,以及Program Files (x86),Program Files的区别 ...

  8. 在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 ...

  9. 1.初始Windows Server 2012 R2 Hyper-V + 系统安装详细

    干啥的?现在企业服务器都是分开的,比如图片服务器,数据库服务器,redis服务器等等,或多或少一个网站都会用到多个服务器,而服务器的成本很高,要是动不动采购几十台,公司绝对吃不消的,于是虚拟化技术出来 ...

随机推荐

  1. XP停止更新不用愁 瑞星XP护盾给你持续保护

    4月8日,微软正式结束了Windows XP的支持,所有XP系统将不会再收到来自微软提供的补丁和安全更新等服务,叱咤OS江湖十几年的一代操作系统终于完美谢幕.但谢幕不等于消失,据相关机构统计,虽然微软 ...

  2. Hadoop什么?

    Hadoop是什么?Hadoop是一个开发和运行处理大规模数据的软件平台,是Appach的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算. Hadoop框架中 ...

  3. python2下经典爬虫(第一卷)

    python2.7的爬虫个人认为比较经典在此我将会用书中的网站http://example.webscraping.com作为案例 爬虫第一步:进行背景调研 了解网站的结构资源在网站的robots.t ...

  4. fiddler问题汇总

    fiddler教程:https://kb.cnblogs.com/page/130367/ fiddler下载安装:https://www.cnblogs.com/mini-monkey/p/1128 ...

  5. Linux那些事——GTK+, Qt, Gnome, KDE, xWindow, xOrg区别

    Linux那些事--GTK+, Qt, Gnome, KDE, xWindow, xOrg区别 Linux不仅内核开源,系统配置也是高度可定制化的,其中就包括我们所熟知的图形界面,从桌面环境,主题,字 ...

  6. spring学习笔记三:Component注解(把POJO类实例化到spring的IOC容器中)

    Component注解:把普通的POJO 类实例化到spring的IOC容器中,就是定义成<bean id="" class=""> 项目目录树: ...

  7. Spring常用注解(讲解的通俗易懂,很透彻)

    使用注解来构造IoC容器 用注解来向Spring容器注册Bean.需要在applicationContext.xml中注册<context:component-scan base-package ...

  8. 极力推荐大佬的java项目的博客

    此次说明:这是我从码云上拉取下来的java项目,仅供试验说明,不做任何获利渠道,若是发现有人拿此做其他用处,需像码云上这位大佬说明,特此感谢!!! 准备工作:     安装 maven,jdk1.8, ...

  9. 自然语言分析工具Hanlp依存文法分析python使用总结(附带依存关系英文简写的中文解释)

    最近在做一个应用依存文法分析来提取文本中各种关系的词语的任务.例如:text=‘新中国在马克思的思想和恩格斯的理论阔步向前’: 我需要提取这个text中的并列的两个关系,从文中分析可知,“马克思的思想 ...

  10. python对csv读写

    1.csv文件读取 with open("C:\\Users\\Administrator\\Desktop\\test.csv", 'r', encoding='utf-8') ...