ubuntu环境下使用mitmproxy代理服务器
在网上看了很多参考,介绍的很多都是废话,很多答案都是一样的。
我最近是在用selenium工具来爬取猫眼的电影数据,因为猫眼有文字加密和美团验证,一般的爬取可能容易被检测。所以我使用selenium工具来模拟人使用浏览器的过程,同时爬取数据。但是这样还是没猫眼检测出来使用了selenium工具,所以我再使用mitmproxy代理,来拦截修改response。
下载安装mitmproxy(使用清华的源安装更快点)
sudo pip3 install mitmproxy -i https://pypi.tuna.tsinghua.edu.cn/simple
安装好之后,还需要配置代理服务器,让电脑的流量都经过这个代理服务器。因为我是ubuntu18.04系统,与windows配置不同。安装好之后可以打开终端输入 mitmdump --version ,检查是否安装成功。如下图
配置步骤
1,打开终端,输入如下命令,显示如下图。此时这个代理服务器运行,并监听默认的8080端口。当然你也可以修改端口。此时打开浏览器流量走的仍不是这个代理服务器,还需要去电脑设置里去设置一下。
mitmdump
mitmdump -p PORT(端口号)
2,打开“设置”--->选择“网络”--->点击“网络代理”--->选择“手动”。如下图,因为这个代理服务器默认端口是8080,所以我下面设置的和默认一直,当然你也可以修改端口。
3,此时配置已经完成,但打开浏览器会发现出现不信任服务器的警告。对于Firefox浏览器,可以直接地址栏输入http://mitm.it
,选取other选项,安装信任证书。类似于下图(此图我选择苹果手机的,你应该点击other)。
4,对于chrome浏览器,稍复杂一步。我使用Firefox的方法未成功。故用手动的方法。我们第一步运行了mitmdump命令,会在文件夹的更目录生成一个 .mitmproxy的文件夹,里面有五个文件,如下图。
打开chrome浏览器,点击“设置”-->点击“高级”-->点击“隐私设置和安全性”-->选择“管理证书”-->选择“授权中心”-->“导入”,然后选择上图所示的 .pem格式的文件。
此时Firefox和chrome浏览器都安装好了信任证书,网络流量也都经代理服务器,可进行下一步工作了。
推荐阅读
-
windows环境下使用Composer安装ThinkPHP5
-
ubuntu1604环境下mariadb启动卡住报错和apparmor基本使用
-
Mac下使用mitmproxy抓包HTTPS数据方法详解
-
Ubuntu下使用python读取doc和docx文档的内容方法
-
[视频教程] ubuntu系统下以守护进程方式安装使用Redis
-
Ubuntu1604生产环境下编译安装mariadb10.2.26
-
Ubuntu系统下搭建mysql环境教程
-
Ubuntu服务器下搭建php运行环境的方法
-
Ubuntu14.04服务器环境下配置PHP7.0+Apache2+Mysql5.7的方法
-
RabbitMQ在Windows环境下的安装与使用