使用python模块可以快速启动一个http服务器,如果加上cgi参数,就可以在此服务器上运行python代码,以及可执行程序。cgi程序必须放在启动目录的cgi-bin子目录下,才可以正常运行。命令行启动:
python -m http.server --cgi 8000CGI程序一般都是通过标准输入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
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/11240/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料
查 看2022高级编程视频教程免费获取