Windows使用mitmdump踩过的坑
这几天没啥事,就想着爬取一下app上面的内容。
我这边的系统是用windows,先安装好了mitmproxy跟手机证书
由于windows上面不能打开mitmproxy的调试窗口,所以这边就用的charles抓包工具进行抓包。
先编写好程序
import json
import pymongo
from mitmproxy import ctxclient = pymongo.MongoClient(host='localhost', port=27017)db = client['igetget']collection = db['books']def response(flow):、global collectionurl='https://m.igetget.com/hybrid/api/ebook/list'if flow.request.url.startswith(url):text=flow.response.textdata=json.loads(text)books=data.get('data')for book in books:data={'title':book.get('operatingTitle'),'cover':book.get('cover'),'summary':book.get('otherShareSummary'),'price':book.get('currentPrice'),'anthor':book.get('bookAuthor')}ctx.log.info(str(data))collection.insert(data)
这样写的代码在windows的cmd中执行mitmdump -s filename.py运行程序,总是报错
然后百度了半天说是因为pymongo的版本过低,应该用insert方法插入,或者3.x的版本就用insert_one/many方法插入,看了我的版本是最新的,方法也试完了,还是不能解决。后面看了我的就是不能解决,按道理不应该啊,在pycharm中就不会存在这种问题的。
后来分析了一下报错的原因,改了下代码如下:
import json
import pymongo
from mitmproxy import ctxdef response(flow):client = pymongo.MongoClient(host='localhost', port=27017)db = client['igetget']collection = db['books']url='https://m.igetget.com/hybrid/api/ebook/list'if flow.request.url.startswith(url):text=flow.response.textdata=json.loads(text)books=data.get('data')for book in books:data={'title':book.get('operatingTitle'),'cover':book.get('cover'),'summary':book.get('otherShareSummary'),'price':book.get('currentPrice'),'anthor':book.get('bookAuthor')}ctx.log.info(str(data))collection.insert(data)
这样就完美解决了,但是按道理不应该啊,我上面是加了global的,不知道各位大佬给解释下
Windows使用mitmdump踩过的坑相关推荐
- Jenkin踩过的坑
windows安装目录踩过的坑(2.253+版本之后) 以前的版本,安装成windwos服务的话,所有的文件都会在安装目录下 ,最近下了个2.253版本在电脑上进行安装的时候,发现安装后,在安装目录下 ...
- React-Native android在windows下的踩坑记
坑很多,跳之前做好准备.没有VPN的同学请浏览完本文后慎行. 你需要先安装最新版本的node.js(我最后使用的是v4.1.2),前往官网下载>> 注:我win7已经安装过Visual S ...
- 我在Windows系统搭建python的Hadoop+Spark环境时踩过的坑
本人是一个最近正在研究链路预测的小白,读论文的时候有幸从导师那里获得了论文相关的算法代码,可是论文里面涉及到了spark和Hadoop,需要搭建环境,于是这只无脑的小白成功踏入了搭建Hadoop+sp ...
- Redis 集群部署及踩过的坑
本文目标 要在单台机器上搭建Redis集群,方式是通过不同的TCP端口启动多个实例,然后组成集群,同时记录在搭建过程中踩过的坑. 安装准备 centos版本:6.7 redis版本:3.2.3 安装方 ...
- logstash导入数据到Elasticsearch踩过的坑详解
一.前言 这篇主要记录在导入数据时候踩到的坑,这些坑总共花费我小一天的时间,记录一下. 二.正文 1.logstash显示在导入数据,ES也成功新建了索引,但是没数据 最开始遇到的是这个坑,logst ...
- ubuntu下vscode调试开发踩过的坑
最近刚过安装了中文版的ubuntu18.04.1,安装完之后想在ubuntu上安装vscode做c/c++的开发调试,踩了不少坑,在此记录一下,希望大家在这条路上不要再踩同样的坑. 1.安装vscod ...
- 《C++之那些年踩过的坑(附录一)》
C++之那些年踩过的坑(附录一) 作者:刘俊延(Alinshans) 本系列文章针对我在写C++代码的过程中,尤其是做自己的项目时,踩过的各种坑.以此作为给自己的警惕. [版权声明]转载请注明原文来自 ...
- vSAN一次人肉工程师踩过的坑
vSAN一次人肉工程师踩过的坑 原创 李严省 虚实之路 2017-04-16 大家星期天好,这几天阳光不错,是个带家人或者女朋友出去转转的好时候.可惜这二天一夜做了VMwarevSAN人肉工程师,这二 ...
- Django 踩过的坑(二)
最近在折腾Django的WSGI应用,虽然Django自带的runserver很方便,但是对于复杂的功能它就无能为力了. 首先在Windows上遇到坑了,然后在windows10自带的Ubuntu遇到 ...
最新文章
- 傅里叶卷积实现「万物隐身」,这个神器可试玩
- 大话软件测试与职业生涯
- hdu1251 hash或者字典树
- 如何在Ubuntu中使用dpkg命令卸载软件
- jQuery找兄弟系列next(),nextAll(),nextUntil(),prev(),prevAll(),prevUntil(),siblings()
- 判断android图片是否硬解码(方法)
- 你可能小赚,但苹果永远不亏!华强北老板说一台新iPhone只赚10块钱?
- BMIP002协议介绍
- 十二、实战底部(二)
- 利用dex2jar反编译apk
- TypeScript学习(六):函数的定义及特性
- layer弹出层笔记
- 【看别人的,学习】文本增强,再也不怕用户要修改标准界面的字段描述了
- 谷歌浏览器启动后,图标变成空白解决办法
- 达梦7数据库单机安装(命令行方式)
- 算法 319. 灯泡开关 python
- uni-app开发的h5,使用微信授权登录(前置条件+具体代码)
- 设计脉宽占空比50%,25%可调的脉冲发生器
- 解锁电机气隙公差分析之奥秘!
- linux 程序开发
热门文章
- 免疫力低吃nmn有用吗,nmn提高免疫力效果如何,掌握健康!
- 微信小程序swiper图片尺寸_微信小程序之swiper轮播图中的图片自适应高度
- 傅里叶变换红外光谱仪(FTIR)知识速递
- 运算长方体体积及面积
- WWW2023推荐系统论文集锦,推荐系统方向占比高达72/365
- 【研究生学术英语读写教程翻译 中国科学院大学Unit9】
- 关于计算机的多媒体论文题目,关于计算机多媒体专业的论文选题 计算机多媒体专业论文题目选什么比较好...
- 初学c语言的方法和操作
- 云创大数据精彩亮相第二届浙江技能大赛成果展
- 比较两种计算机语言的英语论文,计算机英语论文,关于计算机英语的语言特点教学方法探析相关参考文献资料-免费论文范文...