2009-06-23 9 views
6

Je n'ai pas pu trouver d'équivalent python à PHP $ _SERVER.

Y en a-t-il? Ou, quelles sont les méthodes pour apporter des résultats équivalents?

Merci d'avance.

+3

Il y a beaucoup de différences entre Python et PHP. Python est juste un langage de programmation, alors que PHP est plus comme un framework web, car il a des primitives pour les choses liées au web. Comme $ _SERVER, en-tête, setcookie. Ce sont des choses qui ne sont pas dans le noyau de Python, mais plutôt dans des modules spécifiques à un domaine. PHP a été construit pour être un langage du web, c'est pourquoi il a tellement de choses utiles pour la programmation web. –

+1

Quoi qu'il en soit, PHP est idiosyncratique, car vous pouvez accéder à la superglobale $ _SERVER même en mode CLI. Il est également peuplé dans ce scénario. –

+1

Eh bien ... Les choses changent. Python fait son chemin. Donc, ça vaut le coup d'apprendre et de construire des sites en utilisant python. – fireball003

Répondre

11

En utilisant mod_wsgi, que je recommande plus mod_python (longue histoire, mais croyez-moi) ... Votre demande est passé un environnement variables telles que:

def application(environ, start_response): 
    ... 

et l'environnement contient des éléments typiques à partir de $ _SERVER en PHP

... 
environ['REQUEST_URI']; 
... 

Et ainsi de suite.

http://www.modwsgi.org/

Bonne chance

Révision La vraie réponse est d'utiliser quelque chose comme Flask

+0

Merci beaucoup. Cela va faire :) – fireball003

1

Vous ne dit pas explicitement, mais je suppose que vous utilisez mod_python? Si oui, (et si vous ne voulez pas utiliser mod_wsgi à la place comme suggéré plus tôt) jetez un oeil à la documentation pour le request object. Il contient la plupart des attributs que vous trouverez dans $_SERVER.
Un exemple, pour obtenir l'URI complète de la demande, vous feriez ceci:

def yourHandler(req): 
    querystring=req.parsed_uri[apache.URI_QUERY] 

L'attribut querystring contient maintenant la chaîne de requête de la demande, qui est la partie après le « ? ». (Ainsi, pour http://www.example.com/index?this=test, querystring serait this=test)

Questions connexes