url abfangen und weiterleitung in bottle

Django, Flask, Bottle, WSGI, CGI…
Antworten
ceddy
User
Beiträge: 79
Registriert: Mittwoch 25. August 2010, 12:01

Ich hab mal ne frage zu bottle:
Angenommen ich würde meinen router so einstellen, das er die Anfragen auf 2 verschiedene Domains, auf den selben Pc weiterleite, kann ich dann in bottle/python abfangen auf welche domain der router reagiert hat?

Und 2tens ist es möglich eine Anfrage die an dem skript Ankommt auf eine andere Ip umzuleiten.
Also z.b wenn mein router auf eine anfrage auf meinedomain.de auf die ip 192.168.2.113 weiterleitet. Auf dem Pc mit der ip läuft dann ein skript der die anfrage z.B auf den pc im selben Netztwerk mit der Ip 192.168.2.114 umleitet??

lg ceddy :D
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

zur 2. Frage: Das hat nichts mit dem Webframework zu tun sondern ist reines Routing.

Die 1. Frage verstehe ich nicht ganz: Wenn du die gleiche Applikation an zwei Domains bindet willst kann es der Domain doch erst mal egal sein, woher die Anfrage kommt. Wenn du 2 Applikation hast, also eine pro Domain, dann bindest du doch sowieso jede App an eine Domain. Somit weißt du automatisch, wo was herkommt.

Gruß, noisefloor
ceddy
User
Beiträge: 79
Registriert: Mittwoch 25. August 2010, 12:01

Also ich versuche es noch einmal zu erklären.
Ich habe 2 domains also nehmen wir mal die heißen domain1.de und domaind2.de. Ich habe meinen router so eingestellt, dass er eine anfrage auf domain1.de und domain2.de auf den Selben rechner weiterleitet.
Auf dem rechner soll jetzt ein skript laufen, der erennt ob der nutzer domain1.de oder domain2.de in seinem Browser eingegeben hat.
Und erstmal wollt ich wissen ob das mit bottle möglich ist, weil ich ja nichteinmal weis ob der router diese information an den pc weitergibt

mfg
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

IMHO solltest du das mit dem Router zuerst prüfen - sonst machst du dir über was Gedanken, was gar nicht zum tragen kommt... ;-)

Ansonsten gibt es noch so was wie den HTTP Referer, der hat aber eigentlich eine etwas andere Funktion... man könnte ihn aber für deine Sache "missbrauchen". Aber ich kenne mit diesen Details der Netzwerktechnik zu wenig aus, um zu sagen, dass das geht - oder totaler Quatsch ist.

Gruß, noisefloor
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

Nachtrag: wenn dein Router als Proxy fungiert, dann stell' ihn doch direkt so ein, dass www.domain1.de auf 192.168.2.113/app_d1 weiter und www.domain2.de auf 192.168.2.113/app_d2.

Dann ist auch alles klar.

Gruß, noisefloor
ceddy
User
Beiträge: 79
Registriert: Mittwoch 25. August 2010, 12:01

ich bin mir ziehmlich sicher das der router, dass nicht kann :(

mfg
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Eigentlich solltest du das über http://bottlepy.org/docs/dev/api.html#b ... equest.url bekommen.

Weiß nicht, ob das noch eleganter geht.
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

jbs hat geschrieben:Eigentlich solltest du das über http://bottlepy.org/docs/dev/api.html#b ... equest.url bekommen.

Weiß nicht, ob das noch eleganter geht.
Ja: http://bottlepy.org/docs/dev/api.html#b ... t.urlparts :mrgreen:
ceddy
User
Beiträge: 79
Registriert: Mittwoch 25. August 2010, 12:01

danke für die antworten, kann mir uahc noch jemand sagen wie ich das aufrufe?
x=urlparts() ghet z.b nicht ist das in irgend nem modul drin?:D
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

ceddy hat geschrieben:danke für die antworten, kann mir uahc noch jemand sagen wie ich das aufrufe?
x=urlparts() ghet z.b nicht ist das in irgend nem modul drin?:D
Das steht in der Doku etwas weiter darüber. Es ist jetzt wenig sinnvoll, diese hier noch mal hinzukopieren.
ceddy
User
Beiträge: 79
Registriert: Mittwoch 25. August 2010, 12:01

Meinst du Request.urlparts(), das funktioniert nähmlich auch nicht-.-
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

ceddy hat geschrieben:Meinst du Request.urlparts(), das funktioniert nähmlich auch nicht-.-
Extra für dich habe ich jetzt zum ersten Mal bottle eingesetzt. request.urlparse liefert ein absolut korrektes Ergebnis. Voraussetzung ist natürlich, dass du request vorher aus bottle importiert hast. Um die Dokumentation zu zitieren: "[...] use the module-level bottle.request instance."
Antworten