当前位置: 首页 > news >正文

fiddler右键集成生成python requests请求代码

安装所需环境
npm install --global httpsnippet
打开fiddler->ctrl+r调出脚本编辑器,在class Handlers内添加以下代码
` // ==================== Python 代码生成(修复 BOM 问题)====================
// 1. Python Requests 右键菜单
public static ContextAction("Python-requests", "生成代码")
function DoPythonRequests(arrSess: Session[]) {
GeneratePythonCodeWithNode(arrSess, "requests");
}
// 2. Python http.client 右键菜单
public static ContextAction("Python-http.client", "生成代码")
function DoPythonHttpClient(arrSess: Session[]) {
GeneratePythonCodeWithNode(arrSess, "python3");
}
// 3. 核心生成函数(使用 Node.js + httpsnippet,自动移除 BOM)
public static function GeneratePythonCodeWithNode(oSessions: Session[], client: String) {
// 临时文件路径
var tempHar = System.IO.Path.Combine(System.IO.Path.GetTempPath(), "fiddler_temp.har");
var tempHarFixed = System.IO.Path.Combine(System.IO.Path.GetTempPath(), "fiddler_temp_fixed.har");
var tempDir = System.IO.Path.Combine(System.IO.Path.GetTempPath(), "fiddler_output_" + System.Guid.NewGuid().ToString().Substring(0, 8));

    // 清理旧文件if(System.IO.File.Exists(tempHar)) System.IO.File.Delete(tempHar);if(System.IO.File.Exists(tempHarFixed)) System.IO.File.Delete(tempHarFixed);if(System.IO.Directory.Exists(tempDir)) System.IO.Directory.Delete(tempDir, true);// 步骤 1:导出 HAR 文件var oExportOptions = FiddlerObject.createDictionary();oExportOptions.Add("Filename", tempHar);FiddlerApplication.DoExport("HTTPArchive v1.2", oSessions, oExportOptions, null);if(!System.IO.File.Exists(tempHar)) {MessageBox.Show("❌ 导出 HAR 文件失败", "错误");return;}// 步骤 2:移除 BOMRemoveBomFromFile(tempHar, tempHarFixed);if(!System.IO.File.Exists(tempHarFixed)) {MessageBox.Show("❌ 处理 HAR 文件失败", "错误");System.IO.File.Delete(tempHar);return;}// 步骤 3:创建输出目录System.IO.Directory.CreateDirectory(tempDir);// 🔑 步骤 4:直接调用 httpsnippet(使用系统 PATH)var args = "httpsnippet \"" + tempHarFixed + "\" -t python -c " + client + " -o \"" + tempDir + "\"";var process = new System.Diagnostics.Process();process.StartInfo.FileName = "cmd.exe";  // 使用 cmd.exeprocess.StartInfo.Arguments = "/c " + args;  // /c 参数执行命令后退出process.StartInfo.UseShellExecute = false;process.StartInfo.RedirectStandardOutput = true;process.StartInfo.RedirectStandardError = true;process.StartInfo.CreateNoWindow = true;process.Start();var output = process.StandardOutput.ReadToEnd();var error = process.StandardError.ReadToEnd();process.WaitForExit();process.Dispose();// 步骤 5:查找生成的 Python 文件var generatedFiles = System.IO.Directory.GetFiles(tempDir, "*.py");if(generatedFiles.Length > 0) {// 读取并删除var code = System.IO.File.ReadAllText(generatedFiles[0]);System.IO.File.Delete(generatedFiles[0]);System.IO.Directory.Delete(tempDir, true);System.IO.File.Delete(tempHar);System.IO.File.Delete(tempHarFixed);Clipboard.SetText(code);MessageBox.Show("✅ Python 代码已生成并复制到剪贴板!\n\n客户端: " + client, "成功");} else {// 清理所有临时文件if(System.IO.File.Exists(tempHar)) System.IO.File.Delete(tempHar);if(System.IO.File.Exists(tempHarFixed)) System.IO.File.Delete(tempHarFixed);if(System.IO.Directory.Exists(tempDir)) System.IO.Directory.Delete(tempDir, true);MessageBox.Show("❌ 生成代码失败!\n\n错误信息:\n" + error, "错误");}
}
// 🔑 关键函数:移除文件的 BOM
static function RemoveBomFromFile(sourceFile: String, targetFile: String) {// 读取文件内容(File.ReadAllText 会自动处理 BOM)var content = System.IO.File.ReadAllText(sourceFile, System.Text.Encoding.UTF8);// 使用无 BOM 的 UTF8 编码保存// new UTF8Encoding(false) 中的 false 表示不添加 BOMvar utf8WithoutBom = new System.Text.UTF8Encoding(false);System.IO.File.WriteAllText(targetFile, content, utf8WithoutBom);
}
// ==================== 结束 ====================`

图片

http://www.jsqmd.com/news/334574/

相关文章:

  • openclaw本地部署记录
  • 2026充电电池厂家综合实力排名:产能、专利、质量三维度权威对比 - 爱采购寻源宝典
  • sward详解与实战 - 将文档评审与企业微信/钉钉相结合,让评审更加灵活与及时
  • AI应用架构师必备:性能优化的分布式架构设计(附Spark_Flink案例)
  • CUDA Kernel:解锁GPU超能力的魔法钥匙
  • 2026户外储能电源厂家综合实力排名:产能、专利、质量三维度权威解析 - 爱采购寻源宝典
  • 计算机SSM毕设实战-基于ssm的乡村红色旅游红色文化宣传平台的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • (新卷,100分)- 火星文计算(Java JS Python)
  • 2026梯具厂家综合实力排名:产能、专利、服务三维度权威对比 - 爱采购寻源宝典
  • OpenClaw 安装并配置飞书插件
  • 智慧能源管理在零碳园区中扮演什么角色?
  • Ubuntu上使用企业微信
  • 算子(Operator):深度学习的乐高积木
  • 广州鞋都商家必看:AI套图突围!让你的高跟鞋,撑起产地时尚牌
  • SSM毕设选题推荐:基于ssm的红色旅游网站红色文化宣传平台的设计与实现基于Web的红色旅游网站【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 稀土化合物:不为人知的科技力量
  • 档案管理系统如何支持多级审批流?自定义节点与角色权限详解
  • 基于深度学习的胰腺肿瘤分段模型在公共内镜超声数据集上的表现
  • kanass详解与实战 - kanass与soular相关联,实现统一登录
  • DBCO-Ce6,氯菁6二苯基环辛炔,Ce6-DBCO,关键参数
  • SSM毕设项目:基于ssm的智慧养老云服务平台设计与开发(源码+文档,讲解、调试运行,定制等)
  • C++中的枚举类高级用法
  • 计算机SSM毕设实战-基于ssm的智能密室逃脱信息管理系统的设计与实现主题管理、在线预约、运营管理【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • DSPE-PEG2k-iRGD-FITC,DSPE-聚乙二醇-多肽-异硫氰基荧光素,化学特性
  • SSM计算机毕设之基于ssm的红色旅游资源红色文化宣传平台的设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • 如何在服务器上查看网络连接数并进行综合分析
  • 【课程设计/毕业设计】基于ssm的电子商务平台的设计与实现电子商务交易系统的设计与实现【附源码、数据库、万字文档】
  • <span class=“js_title_inner“>一文详解ITIL 4 与 ITILV5之间核心差异、更新及改进</span>
  • 天翼AI云电脑预置Clawdbot->Moltbot->OpenClaw,别管了,快上车!
  • 使用WisdomSSH快速验证Ollama部署的DeepSeek模型能力