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. FFT算法的verilog实现

    首先需要明白傅里叶相关的基本知识:还是 借用这位英雄的文章,真心写的让人佩服不已http://blog.jobbole.com/70549/ 然后是卷积的理解http://blog.csdn.net/ ...

  2. 7)加了基础控制器Controller.php

    文件目录展示: 改动代码展示: Controller.php <?php /** * Created by PhpStorm. * User: Interact * Date: 2017/8/2 ...

  3. Mac使用sublime text3的快捷键

    符号说明⌘:command⌃:control⌥:option⇧:shift↩:enter⌫:delete 打开/关闭/前往⌘⇧N 打开一个新的sublime窗口⌘N 新建文件⌘⇧W 关闭sublime ...

  4. Yii2创建管理员登录

    1. 创建管理员表 进入项目根目录,在根目录执行命令: 1 $ ./yii migrate 2. 创建管理的控制器 1 $ cd console/controllers/ 编写代码如下: 123456 ...

  5. Python3爬虫:(一)爬取拉勾网公司列表

    人生苦短,我用Python 爬取原因:了解一下Python工程师在北上广等大中城市的薪资水平与入职前要求. Python3基础知识 requests,pyquery,openpyxl库的使用 爬取前的 ...

  6. 苹果为何要一定要去印度生产iPhone

    ​ 现在,关于苹果手机有几种流行的猜想和期待,今年恰逢iPhone问世十周年,新产品估计会有颠覆性创新,消费者正望穿秋水,翘首企盼,但只需待到金秋便可知晓,何况iPhone8或许也就是一小撮发烧友的选 ...

  7. Java程序监控---Metrics

    概念 Metrics是一个给JAVA服务的各项指标提供度量工具的包,在JAVA代码中嵌入Metrics代码,可以方便的对业务代码的各个指标进行监控 目前最为流行的 metrics 库是来自 Coda ...

  8. C++走向远洋——52(十三周阅读程序)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  9. USB小白学习之路(3) 通过自定义请求存取外部RAM

    通过自定义请求存取外部RAM 1. 实验简述 此实验是对自定义的供应商特殊命令(vendor specific command bRequest = 0xA3)进行解析,程序中的read me说明如下 ...

  10. 使用veloticy-ui生成文字动画

    前言 最近要实现一个类似文字波浪线的效果,使用了velocity-ui这个动画库,第一个感觉就是使用简单,代码量少,性能优异,在此简单介绍一下使用方法,并实现一个看上去不错的动画.具体使用方法可以点击 ...