2009-06-23 15 views
6

Nie mogłem znaleźć pytona równoważnego PHP $ _SERVER.

Czy są jakieś? Lub, jakie są metody uzyskiwania równoważnych wyników?

Z góry dziękuję.

+3

Istnieje wiele różnic między Python i PHP. Python jest po prostu językiem programowania, podczas gdy PHP jest bardziej jak framework sieciowy, ponieważ ma prymitywy dla rzeczy związanych z Internetem. Podobnie jak $ _SERVER, nagłówek, setcookie. Są to rzeczy, które nie są w rdzeniu Pythona, ale raczej w modułach specyficznych dla domeny. PHP został zbudowany jako język sieci, dlatego ma wiele przydatnych funkcji do programowania stron internetowych. –

+1

W każdym razie PHP jest idiosynkratyczne, ponieważ możesz uzyskać dostęp do superglobalnego kontrolera $ _SERVER nawet w trybie CLI. W tym scenariuszu jest również zapełniany. –

+1

Cóż ... Rzeczy się zmieniają. Python toruje sobie drogę. Warto więc nauczyć się i budować niektóre witryny za pomocą Pythona. – fireball003

Odpowiedz

11

Korzystanie mod_wsgi, które polecam nad mod_python (długa historia, ale uwierzcie mi) ... Aplikacja jest przekazywana środowisko zmienne takie jak:

def application(environ, start_response): 
    ... 

i środowiska zawiera typowe elementy od $ _SERVER w PHP

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

I tak dalej.

http://www.modwsgi.org/

Powodzenia

ZMIAN Prawdziwy poprawną odpowiedzią jest użyć czegoś jak Kolby

+0

Wielkie dzięki. To wystarczy :) – fireball003

1

Nie stwierdza się wyraźnie, ale zakładam, że używasz mod_python? Jeśli tak, (i jeśli nie chcesz używać mod_wsgi zamiast, jak sugerowano wcześniej), zapoznaj się z dokumentacją dla request object. Zawiera większość atrybutów, które można znaleźć w $_SERVER.
Przykładem, aby uzyskać pełny URI żądania, można to zrobić:

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

Atrybut querystring będzie teraz zawierać żądanie w ciągu kwerendy, czyli część po „?”. (Tak więc, dla http://www.example.com/index?this=test, querystring będzie this=test)