Apache 之执行 CGI 脚本(Python 实现)

news2024/11/20 6:29:32

目录

  • 前言
  • 1 查看并挑选 Python 版本
  • 2 用 Python 实现一个简单的 CGI 脚本
  • 3 查看 CGI 环境变量
  • 总结


前言

本文记录了一个搭建 CGI 环境的示例。前文推荐:《Apache 2.4.54 x64 安装及配置》。

【系统环境】
Win10-64bit
Apache 2.4.54 x64
Python 3.11.1


1 查看并挑选 Python 版本

  1. 参《cmd 调用不同版本的 Python》
  2. 环境变量的原则:不同版本的同名称程序,调用时,前面的覆盖后面的。应用是:早期版本放前面,晚期版本改程序名,因为调用时调用的是变量所指的值。
  3. 查看 Python 版本的目的是选择一个在环境变量里的 Python 版本。

2 用 Python 实现一个简单的 CGI 脚本

写一个 CGI 脚本,命名为 Hello_ascii.py,内容如下:

#!C:\Users\WX18510341407\AppData\Local\Programs\Python\Python311\python311.exe
# -*- coding: utf-8 -*-
print("Content-Type: text/html")    # HTML is following
print()                             # blank line, end of headers
print("<TITLE>CGI script output</TITLE>")
print("<H1>This is my first CGI script</H1>")
print("Hello, world!")

这里可先用命令行运行该脚本文件,以便查看语法错误:
在这里插入图片描述
在浏览器端查看效果:
在这里插入图片描述


3 查看 CGI 环境变量

import os

print("Content-type: text/html")
print()
print("<meta charset=\"utf-8\">")
print("<b>环境变量</b><br>")
print("<ul>")
for key in os.environ.keys():
    print("<li><span style='color:green'>%30s</span>: %s</li>"%(key, os.environ[key]))
print("</ul>")

总结

  1. Python 之利,可见一斑。
  2. 命令行运行脚本,大有好处。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/110590.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PyInstaller的常用打包命令

学习了pyqt后&#xff0c;设计了界面&#xff0c;并且需要打包为exe程序。 每次打包时&#xff0c;都要查好久资料&#xff0c;故此记录一下常用的命令。 PyInstaller 是一个 Python 应用程序打包工具&#xff0c;它可以将 Python 程序打包为单个独立可执行文件。 要使用 P…

2022星空创造营应用创新大赛圆满落幕,获奖名单出炉!

​12月22日&#xff0c;2022星空创造营应用创新大赛在2022手机创新周暨第十届手机设计大赛颁奖典礼上作为特别专场正式公布获奖名单。2022星空创造营应用创新大赛由联通在线、手机设计大赛天鹅奖组委会联合主办&#xff0c;联通在线音乐公司及工信部赛迪研究院共同承办&#xf…

Vulnhub靶机:HOLYNIX_ V1

目录介绍信息收集主机发现主机信息探测网站探测万能密码文件包含漏洞文件上传提权补充&#xff1a;ip问题介绍 系列&#xff1a;Holynix&#xff08;此系列共2台&#xff09; 发布日期&#xff1a;2010年11月27日 难度&#xff1a;中 运行环境&#xff1a;VMware Workstation …

F9P使用说明

1.介绍 ZED-F9P简易使用说明&#xff0c;只是简单使用无需点击具体的链接。 使用硬件&#xff1a;F9P 软件&#xff1a;ucenter 22.07 2.数据类型 ublox接收机接收到的数据 NEMA数据:https://baike.baidu.com/item/NMEA-0183/1810482UBX数据&#xff1a;二进制的GNSS观测值…

12月更新!EasyOps全平台产品能力再升级,新增22+功能亮点解读~

哈喽伙伴们 又到了优维EasyOps全平台产品每月功能上新时间 转眼就到了2022年的最后一个月份 12月有些事情结束了 有些事情才刚刚开始 闲言少叙 咱们来看看12月上线了哪些新功能吧 HyperInsight 超融合监控 「APM」 支持通过日志采集接口数据和指标数据 丰富APM数据接…

哪里能够找到完整的信息安全标准

写在前面 早年刚参加信息安全工作更多的学点皮毛技术&#xff0c;到处找安全工具&#xff0c;跟踪poc&#xff0c;拿到一个就全网扫一遍&#xff0c;从来没有想过&#xff0c;系统化的安全工作应该怎样搞?我做的工作在安全体系中处于哪个阶段? 后来有机会做企业安全建设&…

刷爆力扣之仅含 1 的子串数

刷爆力扣之仅含 1 的子串数 HELLO&#xff0c;各位看官大大好&#xff0c;我是阿呆 &#x1f648;&#x1f648;&#x1f648; 今天阿呆继续记录下力扣刷题过程&#xff0c;收录在专栏算法中 &#x1f61c;&#x1f61c;&#x1f61c; 该专栏按照不同类别标签进行刷题&#x…

Chrome谷歌浏览器清空缓存并强制刷新页面

在项目开发过程中&#xff0c;用浏览器测试时很多时候会被浏览器自带的缓存搞得很头疼&#xff0c;那么下面会介绍几种方法实现Chrome浏览器清空缓存并强制刷新页面 1.通过快捷键方式 Windows和Linux操作系统&#xff1a;CtrlShiftR Mac OS: CmdShftR 这样就可以使用硬性重…

第十六章 强化学习

16.1 任务与奖赏 上图给出了强化学习的一个简单图示。强化学习任务通常用马尔可夫决策过程&#xff08;MDP&#xff09;来描述&#xff1a; 机器处于环境E中&#xff0c;状态空间为X&#xff0c;其中每个状态x∈X是机器感知到的环境的描述&#xff0c;如在种瓜任务上这就是当前…

java中的反射

反射 类加载的过程 当程序主动使用某个类时&#xff0c;如果该类还未被加载到内存中&#xff0c;则JVM会通过加载、连接、初始化3个步骤来对该类进行初始化。如果没有意外&#xff0c;JVM将会连续完成3个步骤&#xff0c;所以有时也把这个3个步骤统称为类加载或类初始化。加载…

MySQL面试常问问题(索引) —— 赶快收藏

目录 1.能简单说一下索引的分类吗&#xff1f; 2.为什么使用索引会加快查询&#xff1f; 3.创建索引有哪些注意点&#xff1f; 4.索引哪些情况下会失效呢&#xff1f; 5.索引不适合哪些场景呢&#xff1f; 6.索引是不是建的越多越好呢&#xff1f; 7.MySQL索引用的什么数…

HackTheBox Soccer 通过WebSockets进行SQL注入,Doas与Dstat插件提权

靶机网址&#xff1a; https://app.hackthebox.com/machines/Precious枚举 使用nmap枚举靶机 nmap -sC -sV 10.10.11.194机子开放了22&#xff0c;80和9091端口&#xff0c;我们本地dns解析这个域名 echo "10.10.11.194 soccer.htb" >> /etc/hosts然后fuzz…

SpringBoot启动时无法加载自定义配置文件(根据环境不同,本地和生产)

问题背景 springboot启动的时候总是报找不到ftp_upload.properties. 估计同学该诧异了&#xff0c;明明就是在项目下的config下&#xff0c;为啥找不到呢&#xff1f;我们都知道springboot的配置文件启动加载顺序是&#xff1a; 第一&#xff1a; ./config/(项目根目录下的…

【文献阅读笔记】利用松弛方法解决非凸问题

文章目录如何判断凸函数常见的凸函数复合函数判断是否凸函数对于约束问题使用泰勒公式进行松弛参考文献如何判断凸函数 当满足下面的公式时候可以判断目标函数为凸函数 f(ξx(1−ξ)y)<ξf(x)(1−ξ)f(y)f(\xi x(1-\xi)y)<\xi f(x)(1-\xi)f(y) f(ξx(1−ξ)y)<ξf(x)…

eclipse整合tomcat+maven

eclipse整合tomcatmaven 前提 本地安装好 tomcat 本地安装好 maven 本地选择一个目录作为 eclipse 工作空间 , 即 workspace 我本地 tomcat 版本是 8.5 , maven 版本是 3.6.1 整合tomcat windows —> preferences --> 搜索 Runtime 选择本地对应的 tomcat 版本 (我…

VXLAN技术是什么,谈何打破与大厂项目的技术壁垒

随着IT环境的不断变化以及新技术的快速发展&#xff0c;新的客户需求下&#xff0c;新的隧道协议也随之被引入进来。从GRE到VXLAN、GENEVE&#xff0c;网络虚拟化技术得到迅猛发展。 尤其是在大数据背景下&#xff0c;海量数据的处理对网络中数据中心的虚拟化、数据迁移等问题提…

BitSail issue 持续更新中,快来挑战,赢取千元礼品!

背景介绍 近期&#xff0c;BitSail 社区发布了 Contributor 激励计划第一期&#xff0c;包含众多 issue&#xff0c;吸引了很多热衷开源的小伙伴的加入&#xff0c;详情可查看&#x1f449;https://mp.weixin.qq.com/s/GkGs-EqTV-szvzndMYrG1g Issue 介绍 为了扩展 BitSail …

全面edge浏览器体验优化

前言 使用Windows系统的朋友们肯定都多少会用到edge浏览器&#xff0c;但是你们都真的了解edge的实用功能吗&#xff0c;本文会介绍edge优秀好用的自带功能以及能极大程度提升使用体验的第三方插件&#xff0c;帮助你打造一个用着更加顺手方便的edge浏览器。 自带功能 1、re…

m基于GNN图神经网络的目标匹配分析matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 在一些应用领域数据可以自然而然地表示成图结构&#xff0c;包括 蛋白质组学&#xff0c;图像分析&#xff0c;场景描述 &#xff0c;软件工程&#xff0c;和自然语言处理。最简单的图结构包括单…

车辆信息网站

开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a;