Linux CGI disposición python3

Artículo Actualizado: 03/04/2020

Nota 1: Instalar la pitón Ver también: de pitón instalación y gramática básica
Nota 2: Configurar un entorno web Ver también: Windows y Linux usando un entorno integrado para construir servidor web
Nota 3: Configuración de Windows CGI Ver: uso pitón debajo de las ventanas de configuración del entorno CGI
Nota 4: Más consulte Configuración de CGI: la práctica de programación Python CGI

En primer lugar, configurar el acceso al directorio CGI

1, instale httpd

Esto ciertamente no es para decir, CGI está proporcionando servicios basados ​​en la web, que sin duda tiene que instalar un programa de servicio web.

Recoger httpd, los terminales lleva a cabo sudo yum install httpdla instalación.

2, encontrar el directorio cgi-bin y escribir un pequeño programa

Instalado httpdposteriormente en /var/www/el directorio será un cgi-bindirectorio, este es el valor predeterminado cgidirectorio de programa de colocación, se puede utilizar directamente.

En este directorio se puede escribir directamente a un programa CGI, y luego tratar de acceso.

Para el castaño:

#! /usr/bin/env python
# -*- coding:UTF-8 -*-
print('Content-Type: text/html; charset=utf-8\n')

import os
print("你好")
print("<br>你的IP是:%s"%os.environ['REMOTE_ADDR'])
print ("<br>你的UA是:%s"%os.environ['HTTP_USER_AGENT'])
print("<br>你的请求端口是:%s"%os.environ['REMOTE_PORT'])
print("<br>你的请求路径是:http://anti-fraud.wiki%s"%os.environ['REQUEST_URI'])
print("<br>你的请求方法是:%s"%os.environ['REQUEST_METHOD'])

Explica:
1, la primera línea de declarar el programa CGI intérprete, aquí es la pitón, por supuesto, también ser usada python3. Sin embargo, cuando la salida del python3 china podría haber algunos problemas, se discute la forma de resolver esto más adelante. Por supuesto, también se puede escribir ruta #! /usr/bin/python
2, la segunda línea es para especificar la codificación, nota que después de la segunda línea de este código puede ser interpretado como un comentario en lugar de la codificación.
3, la tercera línea en respuesta a la información de cabecera de impresión, un retorno de carro en el extremo es el extremo de la cabeza.
4, varias líneas debajo de la salida de un número de variables ambientales, tales como IP del visitante, UA y otra información.

Acceso efecto es el siguiente:
Figura I

En segundo lugar, añadir / cambiar la ruta del programa CGI

1, el cambio CGI camino

Aunque el programa está en marcha. Sin embargo, el cgi-bincamino hacia el cambio a cambio de lo que hago, no se asuste, vistazo a la operación.

(1) editar /etc/httpd/conf/httpd.confel archivo de configuración.
Recomendada vimeditor, modo de comando, pulse /la tecla y escriba la cgibúsqueda.
Busque el cgi
ScriptAlias cgi refiere a la ruta alias, donde vamos a cambiarlo ok, tal como se muestra a continuación:
! [Cambiar alias cgi] (https://img-blog.csdnimg.cn/20200304224650819.png
Guardar y salir después de que el fichero de configuración httpd restart tenga efecto y luego tratar de acceso.

acceso

2, ruta complemento CGI

Si ya tiene el camino no se ajusta a nuestras necesidades, que no cunda el pánico, poseemos un punto a favor.

paso
Edición de un archivo de configuración de paso, editar el contenido de la siguiente manera:
A continuación añadimos una ruta de acceso a la web a hellola ruta del archivo real es /var/www/hello/el programa cgi ruta
Añadir ruta

Intentamos visitar en:
visita exitosa

En tercer lugar, la resolución de salida python3 CGI del problema de la basura china

1, fenómeno ilegible

programa ilegible
Efecto de acceso:
fenómeno ilegible
Registro:

AH01215: UnicodeEncodeError: 'ascii' codec pueden no caracteres codifican en la posición 0-1: no ordinal en el rango (128)

2, la solución

1, además de la cabeza del código de programa se muestra a continuación:

#! /usr/bin/env python3
# -*- coding:UTF-8 -*-
import codecs, sys
sys.stdout = codecs.getwriter('utf-8')(sys.stdout.buffer)
print('Content-Type: text/html; charset=utf-8\n')

import os
print("hello")
print("你好")
print("<br>你的IP是:%s"%os.environ['REMOTE_ADDR'])
print ("<br>你的UA是:%s"%os.environ['HTTP_USER_AGENT'])
print("<br>你的请求端口是:%s"%os.environ['REMOTE_PORT'])
print("<br>你的请求路径是:http://anti-fraud.wiki%s"%os.environ['REQUEST_URI'])
print("<br>你的请求方法是:%s"%os.environ['REQUEST_METHOD'])
print("end")

En el primer código de cabecera del programa anterior se añadió 3- 5, línea, acceso efecto como sigue:
visita exitosa
2, han sido probados, el siguiente código de cabecera igualmente eficaces

#! /usr/bin/env python3
# -*- coding:UTF-8 -*-
import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.detach(),encoding='utf-8')
print('Content-Type: text/html; charset=utf-8\n')

四, Enjoy!

Publicado 75 artículos originales · ganado elogios 8 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/qq_21516633/article/details/104506047
Recomendado
Clasificación