Bienvenue, Invité. Veuillez vous connecter ou vous enregistrer.
Avez-vous perdu votre courriel d'activation?
07 Septembre 2010, 15:53:42

Connexion avec identifiant, mot de passe et durée de la session
Accueil Aide Recherche Identifiez-vous Enregistrez-vous
forum.mangue.org  |  [LANGAGES]  |  Perl, Python, Rebol, shell, etc. (Modérateurs: ptidom, tetram9)  |  Sujet: Mon script fonctionne sur windows mais pas sur linux :( 0 Membres et 1 Invité sur ce sujet.
Pages: [1] Imprimer
Auteur Sujet: Mon script fonctionne sur windows mais pas sur linux :(  (Lu 465 fois)
kedare
Jr. Member
**
Sexe: Homme
Messages: 57


Python Power !


Voir le profil WWW
Mon script fonctionne sur windows mais pas sur linux :(
« le: 24 Septembre 2005, 20:13:18 »

Salut !
j'ai un probleme j'ai creer un script de serveur HTTP , il fonctionne parfaitement sur windows , mais sur linux , au moment de l'activation j'ai une erreur :

Citation
kedare@mathieu ~]$ python HTTP_Server.py
Bienvenue sur le serveur HTTP de Kedare

Programme Creer avec Python !


S.v.p , Veuillez Selectionner le Port et le repertoire de base
Port Conseillé : 80)
  PORT : 80
  REPERTOIRE DE BASE SERVEUR : /home/kedare/
     ADRESSE DU SERVEUR : http://localhost
         ###################### LOG ######################
Traceback (most recent call last):
  File "HTTP_Server.py", line 25, in ?
    serv = HTTPServer( ("", PORT), SimpleHTTPRequestHandler)
  File "/usr/lib/python2.4/SocketServer.py", line 330, in __init__
    self.server_bind()
  File "/usr/lib/python2.4/BaseHTTPServer.py", line 99, in server_bind
    SocketServer.TCPServer.server_bind(self)
  File "/usr/lib/python2.4/SocketServer.py", line 341, in server_bind
    self.socket.bind(self.server_address)
  File "<string>", line 1, in bind
socket.error: (13, 'Permission denied')
[kedare@mathieu ~]$

Voila le code Source :
Code:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

print "Bienvenue sur le serveur HTTP de Kedare"
print " "
print "Programme Creer avec Python !"
print " "
print " "
print "S.v.p , Veuillez Selectionner le Port et le repertoire de base"
print "Port Conseillé : 80)"
PORT = input('  PORT : ')
BASE = raw_input('  REPERTOIRE DE BASE SERVEUR : ')
if PORT == 80:
    ADDR = "http://localhost"
else:
    ADDR = "http://localhost:"+ str(PORT)

print "     ADRESSE DU SERVEUR : "+ ADDR
from BaseHTTPServer import HTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler
import os

os.chdir(BASE) # le répertoire où les pages html seront stoquées.
print "         ###################### LOG ######################"
serv = HTTPServer( ("", PORT), SimpleHTTPRequestHandler)
serv.serve_forever()
j'ai remarquer que quand je choisit un port de tres haut niveau ca fonctionne ....
A+
« Dernière édition: 24 Septembre 2005, 20:15:07 par kedare » Journalisée

Lawouach
Mangue.org - CA
Dieu
*****
Sexe: Homme
Messages: 1303

meh


Voir le profil WWW
Re: Mon script fonctionne sur windows mais pas sur linux :(
« Répondre #1 le: 24 Septembre 2005, 20:18:29 »

Les ports 0 à 1024 sont réservés et ne peuvent pas etre utilisés par des applis utilisateurs (ie non root) sous Linux.
Journalisée
kedare
Jr. Member
**
Sexe: Homme
Messages: 57


Python Power !


Voir le profil WWW
Re: Mon script fonctionne sur windows mais pas sur linux :(
« Répondre #2 le: 24 Septembre 2005, 20:25:33 »

Les ports 0 à 1024 sont réservés et ne peuvent pas etre utilisés par des applis utilisateurs (ie non root) sous Linux.

Ha ok Merci Smiley
Ps : Existe t-il une fonction qui permet de quiter le programme ?
j'aimerais pouvoir arreter le serveur depuis le terminal , mais avec les log qui defille c'est pas possible ... (essayez le script vous verrez) , meme en creans un input ca ne veut pas :/
Journalisée

Lawouach
Mangue.org - CA
Dieu
*****
Sexe: Homme
Messages: 1303

meh


Voir le profil WWW
Re: Mon script fonctionne sur windows mais pas sur linux :(
« Répondre #3 le: 24 Septembre 2005, 21:03:05 »

si tu veux garder la main dans la console quand ton programme s'exécute tu fais :

./mon_prog &

Le & indique au terminal de te rendre la main et de faire tourner le programmae en arrière plan. Pour tuer ce programme tu dois retrouver son PID (process ID)via la commande ps aux. Ensuiet tu tapes kill -9 PID avec le PID qui est le numéro fourni dans le résultat de ps aux.

Journalisée
tetram9
Moderator
Dieu
*****
Sexe: Homme
Messages: 1252


Voir le profil WWW
Re: Mon script fonctionne sur windows mais pas sur linux :(
« Répondre #4 le: 25 Septembre 2005, 17:46:53 »

Citation
kedare@mathieu ~]$ python HTTP_Server.py
Bienvenue sur le serveur HTTP de Kedare

Programme Créé avec Python !
Sinon, comme ça a déjà été dit, ce doit être un problème de port, le 80 n'est pas libre par défaut, il faut être root pour pouvoir utiliser un port entre 0 et 1024.
Journalisée

Gmartintin
Full Member
***
Sexe: Homme
Messages: 213


Shaoulah lover


Voir le profil WWW
Re: Mon script fonctionne sur windows mais pas sur linux :(
« Répondre #5 le: 13 Octobre 2005, 15:33:59 »

Globalement, même sous Windows, c'est pas forcément conseillé de s'amuser avec des ports "bas"
Journalisée

Sex, Drugs and Mangue.org
tetram9
Moderator
Dieu
*****
Sexe: Homme
Messages: 1252


Voir le profil WWW
Re: Mon script fonctionne sur windows mais pas sur linux :(
« Répondre #6 le: 13 Octobre 2005, 17:57:22 »

Globalement, même sous Windows, c'est pas forcément conseillé de s'amuser avec des ports "bas"
+1
Tout à fait Smiley
Journalisée

Pages: [1] Imprimer 
forum.mangue.org  |  [LANGAGES]  |  Perl, Python, Rebol, shell, etc. (Modérateurs: ptidom, tetram9)  |  Sujet: Mon script fonctionne sur windows mais pas sur linux :(
Aller à:  

forum.mangue.org | Propulsé par SMF 1.0.8.
© 2001-2004, Lewis Media. Tous droits réservés.
Page générée en 0.116 secondes avec 19 requêtes.