Weeman为什么死守Python 2.7?手把手教你把它迁移到Python 3

发布时间:2026/10/29 17:28:33

Weeman为什么死守Python 2.7?手把手教你把它迁移到Python 3 Weeman为什么死守Python 2.7手把手教你把它迁移到Python 3【免费下载链接】weemanHTTP server for phishing in python项目地址: https://gitcode.com/gh_mirrors/we/weemanWeeman 是一个用 Python 2.7 编写的 HTTP 服务器工具用于克隆网页表单并监听请求1.7.1 是它的最终版本。因为项目发布在 Python 2.7 时代至今仍然只支持 Python 2.7 运行。本文带你搞清楚它为何死守Python 2.7并手把手把 Weeman 迁移到 Python 3。一、Weeman 是什么一个跑在 Python 2.7 上的 HTTP 服务器Weeman 的工作方式很简单输入目标网页 URL它把页面完整克隆到本地index.html把所有表单的提交地址改写成本地重定向页redirect.html在本地端口默认 8080启动 HTTP 服务器接收并记录提交的数据。它提供交互式命令行支持 Tab 补全、profile 配置文件加载、以及可扩展的模块框架支持 Linux 和 Mac。下面是 Weeman 在 Python 2.7 下的经典运行界面⚠️ 说明Weeman 属于安全研究类工具请仅在你的授权环境和合法授权范围内使用。二、为什么死守 Python 2.7四个绑住项目的原因1. 启动即拦截版本检查直接拒绝 Python 3入口文件 weeman.py 里的tests_pyver()一开场就检查版本号发现是 Python 3 直接报错退出Weeman has no support for Python 3.2. 核心代码大量使用 Python 2 专属模块主服务器文件 core/httpd.py 直接导入SimpleHTTPServer、SocketServer、urllib2——这三个模块在 Python 3 中全部被重命名或删除。此外core/shell.py 使用 Python 3 已移除的raw_input()weeman.py 使用在 Python 3 中被标记弃用的optparse。3. 内置的 BeautifulSoup 是 Python 2 时代的旧版本项目没有依赖外部 bs4而是内置了一份旧版 lib/bs4/其中大量except ImportError, e:这类 Python 2 独占的异常语法例如 lib/bs4/diagnose.py在 Python 3 中属于语法错误。4. Python 2.7 已于 2020 年 1 月停止维护现代 Linux/macOS 发行版默认只装 Python 3Weeman 在干净系统上开箱即坏。迁移到 Python 3 是当前唯一让它重新跑起来的路。三、迁移前准备获取代码与核对文件先获取代码如无需下载可跳过git clone https://gitcode.com/gh_mirrors/we/weeman需要修改的文件一共 6 处核心 4 个模块文件涉及内容weeman.py版本检查、shebang、optparsecore/httpd.py三大 Python 2 模块、字节/字符串core/shell.pyraw_inputcore/config.py文件读写编码core/misc.py缺少import os的隐患modules/各模块的urllib2四、手把手迁移6 步把 Weeman 搬到 Python 3第 1 步模块重命名最关键对照 core/httpd.py 做如下替换Python 2.7Python 3import SimpleHTTPServerfrom http.server import HTTPServer, SimpleHTTPRequestHandlerimport SocketServerimport socketserverimport urllib2import urllib.request注意urllib2.build_opener()对应urllib.request.build_opener()opener.open(...).read()在 Python 3 返回字节需加.decode(utf-8)再交给 bs4。第 2 步替换输入函数把 core/shell.py 中的raw_input(weeman )改为input(weeman )全项目仅此一处。第 3 步处理字符串与字节core/httpd.py 中index.write(data.prettify().encode(utf-8))把字节写进文本模式文件Python 3 会抛TypeError。改为以wb模式打开文件或直接写str并指定encodingutf-8即可。同理检查 core/shell.py 与 core/config.py 中所有open()调用补上encodingutf-8参数。第 4 步替换内置 bs4删除旧的 lib/bs4/ 目录改用官方最新版pip3 install beautifulsoup4然后把 core/httpd.py 的from lib.bs4 import BeautifulSoup as bs改为from bs4 import BeautifulSoup as bs。第 5 步optparse 换成 argparseweeman.py 的optparse.OptionParser()在 Python 3 中会触发弃用警告等价替换为argparse并顺手把第一行 shebang 改为#!/usr/bin/env python3。第 6 步放开版本检查修改 weeman.py 的tests_pyver()让sys.version_info[0] 3时正常通过Python 2 反而报错。五、迁移后验证用 profile 一键启动修改完成后用项目自带的 profile 做回归测试见 profiles/localhost.profilepython3 weeman.py -p profiles/localhost.profile进入交互界面后依次输入show查看配置、run启动服务对应 core/shell.py 的运行分支浏览器访问http://localhost:8080能看到克隆页面即迁移成功最后quit退出。六、Weeman Python 3 迁移清单速查✅ 重命名SimpleHTTPServer/SocketServer/urllib2三模块✅raw_input()→input()✅open()补编码、字节写入改二进制模式✅ 内置 bs4 换成 pip 最新版✅optparse→argparse✅tests_pyver()反转为拒绝 Python 2整个过程改动量很小核心工作量集中在 core/httpd.py 一个文件。Weeman 虽已停更但跟着这 6 步你就能让这个 Python 2.7 老项目在现代 Python 3 环境中重新跑起来。【免费下载链接】weemanHTTP server for phishing in python项目地址: https://gitcode.com/gh_mirrors/we/weeman创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/29 17:24:13

Waydroid 十分钟部署:Linux 上运行 Android 容器的安装指南

Waydroid 十分钟部署:Linux 上运行 Android 容器的安装指南 【免费下载链接】waydroid Waydroid uses a container-based approach to boot a full Android system on a regular GNU/Linux system like Ubuntu. 项目地址: https://gitcode.com/gh_mirrors/wa/wayd…

2026/10/25 20:15:21

LIFE框架:赋能边缘AI终身学习与能效优化的工程实践

1. 从“一次性学习”到“终身成长”:为什么我们需要LIFE这样的框架?最近在跟几个做边缘计算和机器人项目的朋友聊天,大家普遍都在头疼同一个问题:模型部署上线后,就“僵化”了。一个在实验室里表现优异的视觉识别模型&…

2026/10/29 17:28:07

大学生记账系统:SpringBoot+Vue轻量级金融数据流实践

简介:本资源是一套面向计算机专业本科生的高分毕业设计项目——大学生智能消费记账系统,聚焦学生日常财务管理痛点,提供从需求分析到部署运行的全流程实践范例,适用于毕设选题、课程设计及Java全栈开发入门学习。压缩包共374个文件…

2026/10/29 17:28:07

头脑风暴法落地指南:从发散到收敛的高效会议设计

上一次让我真正意识到头脑风暴法难在哪,是一场不到四十分钟就散场的会。当时我跟着一个产品小组做需求梳理,会议室里坐了十二个人,白板擦得干干净净,议题写在正中间,结果前二十分钟谁都不愿意先说,中间十分…

2026/10/29 17:28:07

CBAC与认证代理:中低端设备边界访问控制实战

做边界防护的同行大多遇到过这种尴尬:手上一台中低端路由式设备,功能表里既没有像样的区域防火墙模块,也没预算上专门的策略平台,但业务方要求很明确——外面不能随便进来,里面出去要留痕、要能追溯。这种时候 CBAC 和…

2026/10/29 17:28:07

大学生记账系统毕设实战:SpringBoot+Vue+MySQL全栈开发

简介:这是一套面向计算机专业本科生的高分毕业设计级智能记账系统,聚焦大学生日常消费管理痛点,提供从需求分析到部署运行的全流程实践范例,适用于毕设、课程设计及Java全栈开发入门学习。资源包共374个文件,15.51MB&a…

2026/10/29 17:28:07

AI安全博弈:防御者思维失效,攻击面重构与防御杠杆

他们总说,防御者拥有时间优势——攻击者必须每击必中,防守方只需挡住一次。但我在AI安全领域待得越久,越觉得这句话正在失效。尤其是看到2024年网鼎杯AI安全相关赛题和那些公开的WriteUp之后,我心里那个一直盘旋的念头更清晰了&am…

2026/10/29 17:23:05

数据库视图与索引原理及优化实战解析

1. 数据库视图与索引经典题解析在数据库管理与优化领域,视图和索引是两个最基础也最容易被误解的概念。我见过太多开发者在面试或实际工作中,对这两者的理解停留在表面层次。今天我们就来彻底拆解这两个技术点,通过典型问题分析它们的底层原理…

2026/10/29 17:05:52

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/29 17:06:02

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/29 17:06:13

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/29 0:03:42

学生选课系统DFD图绘制指南:边界划分与分层校验实战

简介:文档以顶层与第一层DFD图为核心,完整刻画学生选课系统的逻辑模型,面向软件工程课程设计、系统分析学习及毕设前期建模人群。顶层图界定系统边界,外部实体包括管理员、教师和学生三类角色;第一层图进一步细化用户登…

2026/10/29 0:03:42

JIRA敏捷落地:Scrum角色权限、Sprint与燃尽图避坑指南

简介:围绕“基于JIRA的敏捷开发项目管理”这一主题,面向产品负责人、Scrum Master及研发测试成员,梳理Scrum角色分工、迭代流程与JIRA工具配置的对应关系,适合初、中级团队导入敏捷管理时参考。压缩包共1个docx文件,大…

2026/10/29 0:03:42

SEMI S8人机工程验收实战:从条款拆解到现场实测的完整指南

简介:面向半导体设备设计、制造与运维工程师及安全合规人员,这份资料聚焦SEMI标准体系下的设备安全规范,重点收录SEMI S8-0308《半导体制造设备人体工程学工程安全指南》。内容围绕设备设计原则、错误与事故预防、人体工程学适配三大主线展开…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑