Principes de base de Python CGI

Environnement supposé

Créer un répertoire cgi-bin

Créez un répertoire cgi-bin directement sous votre répertoire personnel.

user@hostname:~$ mkdir cgi-bin
user@hostname:~$ cd cgi-bin

Créer un script CGI

user@hostname:~/cgi-bin$ which python3
/usr/bin/python3

user@hostname:~/cgi-bin$ vi hello.py

Vérifiez le chemin Python3 avec la commande which.

hello.py


#!/usr/bin/python3

print('Content-Type: text/html; charset=utf-8')
print()

print('<h1>Hello, World!</h1>')

Description du code

  1. Vous devez écrire un commentaire intitulé Shebang sur la première ligne.
    Shebang indique l'emplacement du compilateur, sans lequel le code Python ne peut pas être reconnu comme Python, ce qui entraîne un comportement inattendu.
  2. La troisième ligne print ('Content-Type: text / html; charset = utf-8') fonctionne comme un en-tête HTTP et incorpore la chaîne de sortie dans le code à l'intérieur de la balise HTML BODY. être capable de.
    La spécification de charset est une déclaration explicite du code de caractère du fichier.
  3. Le texte vierge de l'impression sur la 4ème ligne est utilisé car deux sauts de ligne sont nécessaires pour que l'en-tête HTTP sur la 3ème ligne fonctionne correctement.
    Si vous ne souhaitez pas utiliser de texte vide, vous pouvez faire de même en définissant la description de l'en-tête HTTP sur print ('Content-Type: text / html; charset = utf-8 \ n \ n'). ..

Exécutez CGI

La procédure d'exécution de CGI est expliquée.

  1. Accordez l'autorisation d'exécution au répertoire cgi-bin et au fichier exécutable.
  2. Démarrez le serveur de test python
  3. Accédez avec un navigateur pour vérifier

Le développement local est possible avec les trois étapes ci-dessus.
Si vous souhaitez le publier, vous pouvez le publier à l'aide d'Apache2. (Pour plus de détails, consultez cet article)

commander

user@hostname:~$ ls
cgi-bin

user@hostname:~$ sudo chmod -R +x cgi-bin

python3 -m http.server 8080 --cgi
Serving HTTP on 0.0.0.0 port 8080 (http://0.0.0.0:8080/) ...

Notez que vous devez démarrer le serveur directement au-dessus du répertoire *** cgi-bin. *** *** Maintenant qu'il est publié sur localhost, accédez à [http: // localhost: 8080 / cgi-bin / hello.py](http: // localhost: 8080 / cgi-bin / hello.py). S'il est affiché, il réussit.

Erreur

404 Not Found

403 Forbidden

500 Internal Server Error --Il est difficile d'identifier la cause car elle est affichée comme un large éventail d'erreurs dues à des erreurs liées au serveur. --Lorsque vous affichez le terminal qui a démarré le serveur, le journal d'accès est affiché sous Serving HTTP sur 0.0.0.0 port 8080 (http://0.0.0.0:8080/) ..., vérifiez donc les détails de l'erreur. Et faites avec.

L'écran devient vide ・ Le code source est affiché tel quel

--Commun

Recommended Posts

Principes de base de Python CGI
Les bases de Python ⑤
Les bases de Python ④
Les bases de Python ③
Les bases de Python
Les bases de Python
Les bases de Python
Les bases de Python ③
Les bases de Python ②
Les bases de Python ②
bases de python: liste
Mémorandum de base Python
Les bases de #Python (#matplotlib)
bases de python: dictionnaire
Les bases de Python ①
Bases de python ①
bases de la tranche de python
# Principes de base de Python (portée)
Les bases de #Python (#Numpy 1/2)
Les bases de #Python (#Numpy 2/2)
# Bases de Python (fonctions)
principes de base des tableaux python
Principes de base du profilage Python
Principes de base de Python #Numpy
bases de python: fonctions
Les bases de #Python (classe)
Résumé des bases de Python
Python: apprentissage non supervisé: principes de base
Principes de base du grattage Python
Test numpy Python Basic 8
Errbot: les bases du chatbot Python
#Python DeepLearning Basics (Mathématiques 1/4)
Principes de base de Python: Socket, Dnspython
# 4 [python] Bases des fonctions
Bases de python: sortie
Python
python: principes de base de l'utilisation de scikit-learn ①
Exécutez le CGI de Python sur CORESERVER
bases de python: conditions et itérations
Paiza Python Primer 4: Notions de base sur les listes
Principes de base de Python x SIG (1)
Principes de base de Python x SIG (3)
Paiza Python Primer 5: Principes de base des dictionnaires
Bases de SNS Python faites avec Flask
Premiers pas avec Python Bases de Python
Revue des bases de Python (FizzBuzz)
Principes de base de Python x SIG (partie 2)
Fichier CGI Python créé sous Windows
À propos de la liste de base des bases de Python
(python) Principes de base du chaînage de la bibliothèque d'apprentissage en profondeur
Apprenez les bases de Python ① Débutants élémentaires
python kafka
Bases du traitement d'images binarisées par Python
Python: principes de base de la reconnaissance d'image à l'aide de CNN
Résumé Python
Python intégré
Notation d'inclusion Python
CGI Server (1) édition python en une ligne
Étudier Python
Compte à rebours Python 2.7