IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau/Web Python Discussion :

serveur http en python


Sujet :

Réseau/Web Python

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 70
    Par défaut serveur http en python
    bonjour à tous
    je suis en train de créer un serveur de page http en python sur une machine linux
    Le serveur fonctionne correctement; j'arrive à me connecter via le navigateur à mes pages écrites en python
    J'ai trouvé sur internet un tutoriel pour implémenter un compteur de visite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    #!/usr/bin/python3
    #-*- coding: utf8 -*-
    import cgitb
    cgitb.enable()
    try:
        f=open('compteur','r')
        nombrevisite=int(f.read())
        f.close()
    except Exception :
        nombrevisite=0
    nv=nombrevisite+1   
    f=open('compteur','w')
    f.write(str(nv))
    f.close()
     
    print("Content-type: text/html\r\n\r\n")
    print("""
    <!DOCTYPE HTML>
    <html lang="fr">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Mon serveur en python</title>
    </head>
    <body>
    INDEX<br>""")
     
    print (nv)
    print('Visites')
    print("""</body>""")
    Si je lance la page avec python directement depuis le terminal, tout se passe bien, le compteur s'incrémente et le fichier est mis à jour

    si je me connecte via un navigateur, j'ai une erreur sur
    f=open('compteur','w')
    j'ai une erreur d'ouverture du fichier en écriture: permission refusée

    d'ou peut venir cette différence de traitement?

    roland

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur en formation
    Inscrit en
    Juillet 2013
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en formation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 300
    Par défaut
    Pourrait-on avoir le code du serveur pour aller plus loin ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 70
    Par défaut
    merci de me répondre

    le code du serveur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #!/usr/bin/python3
    # -*- coding: utf8 -*-
    from http.server import HTTPServer,CGIHTTPRequestHandler
     
    # Serveur http de base 
    PORT = 8080
    httpd = HTTPServer(("",PORT), CGIHTTPRequestHandler)
    print("à l'écoute sur le port :", PORT)
    httpd.serve_forever()
    Si je charge une page python qui me renvoie du code html, ça marche normalement

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 754
    Par défaut
    j'ai une erreur d'ouverture du fichier en écriture: permission refusée
    C'est un problème de "droits": sous quel utilisateur est créé le process/threads qui ira écrire le fichier?
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 70
    Par défaut
    merci
    le serveur est lancé en root
    le fichier qui fait l'écriture est créé en root (lui il fonctionne, car appelé avec python 3 je n'ai pas d'erreur)

    roland

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 114
    Par défaut
    Bonjour

    Mon hypothèse :
    il y a une erreur dans le try/except. Donc le fichier n'est pas fermé.
    Donc quand le programme essaye de réouvrir le fichier en écriture, alors qu'il est toujours ouvert en lecture, il y a une erreur.

    -> afficher un message si on passe par l'except.

    Cordialement
    Emmanuel

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur en formation
    Inscrit en
    Juillet 2013
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en formation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 300
    Par défaut
    Bonjour, je débute pour ce qui est du réseau et je me demande si avec ce code un autre ordi peut se connecter sur le serveur. Si oui avec quelle URL ?
    Merci d'avance

Discussions similaires

  1. Sockets SSL ( serveur HTTPS )
    Par hexadecime dans le forum Réseau/Web
    Réponses: 4
    Dernier message: 19/10/2007, 18h02
  2. Serveur http en python
    Par Tz-Ba dans le forum Réseau/Web
    Réponses: 2
    Dernier message: 28/09/2006, 11h50
  3. Tester un serveur HTTP et un FTP
    Par fmcvieira dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 29/11/2005, 21h51
  4. [Net] Creation serveur HTTP en C++
    Par Yannos94 dans le forum C++
    Réponses: 13
    Dernier message: 14/11/2005, 12h05
  5. [Réseau] Headers vers un serveur http
    Par gexti dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 04/05/2004, 14h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo