编程学习网 > 编程语言 > Python > python下CGI二进制数据输出教程
2023
08-02

python下CGI二进制数据输出教程

使用python模块可以快速启动一个http服务器,如果加上cgi参数,就可以在此服务器上运行python代码,以及可执行程序。cgi程序必须放在启动目录的cgi-bin子目录下,才可以正常运行。命令行启动:

python -m http.server --cgi 8000
CGI程序一般都是通过标准输入stdin、标准输出stdout及环境信息进行数据处理的。一般情况下,文本类内容,使用print函数正常输出就可以了,输出前,先打印下HTTP头部信息,主要是mime信息。
对于图像、文件等含有二进制信息的数据输出,分别测试python程序和vb.net的实现。
python代码中,可以直接将图片保存到输出流中

import os
import sys
d=os.fdopen(sys.stdout.fileno(),'wb')
print("Content-type:image/jpeg\n")
from PIL import Image
im=Image.new('RGB',(320,100),'#ff00cc')
im.save(d,'jpeg')


vb.net程序中以上思路直接用输出流,出现内存不足的现象,先把数据写入内存,再把内存数据逐字节输出

Sub Main()  '文本数据输出
        Console.WriteLine("Content-type:text/html")
        Console.WriteLine()
        Console.Write("hello")
End Sub
Imports System.IO
Sub Main()  '图像数据输出
        Console.WriteLine("Content-type:image/jpeg")
        Console.WriteLine()

        Dim m = Image.FromFile("D:\123.jpg")
        Dim p = New IO.MemoryStream()
        m.Save(p, Imaging.ImageFormat.Jpeg)

        For Each b In p.ToArray
            Console.OpenStandardOutput.WriteByte(b)
        Next

End sub

以上就是python下CGI二进制数据输出教程的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取