HuHu..
hab mich mal durch das Forum hier geklickt, aber eine einfache Antwort nicht dazu gefunden. Habe im WebBereich bisher, JSP, Struts, JSF, GWT gemacht. Bin schlussendlich bei GWT (JavaCode wird in JavasScript/Ajax übersetzt) ein wenig hängen geblieben. Mein Problem: RPC aufrufe / Servlet Aufrufe vom Clienten an den Server, enthalten serverseitig bei mir relativ wenig Code, welcher bisher in Java geschrieben war (ergo: Application Server nötig)
Kann man in Python "einfach" RPC/Servlet Aufrufe von einem Clienten verarbeiten (im Regelfall ein paar Strings zurückliefern aus ner Datenbank), sodass ich mit einem kostenlosen Serveranbieter im Web hinkomme (also will Python nur Serverseitig nutzen um Daten zurück zu geben). Geht so was "einfach" mit Python? Gibt es kostenlose Anbieter für so was?
Link zum Einlesen wäre fein (hab mich schon an einigen Infos versucht, aber ist etwas schwirig genau das für mich passende zu finden, ohne das ich mich mit einem "schweren" Framework überhebe )
Danke (mal wieder)
D
Python Servlet
Ich hoffe ich habe die Frage nicht missverstanden, aber wenn Python auf dem Server nur für RPC verwendet werden soll, das von JavaScript aus angesprochen wird, sind die beiden einfachsten Möglichkeiten wohl XML-RPC (`xmlrpclib` in der Standardbibliothek) oder JSON-RPC. Zu letzterem bräuchte man ein externes Modul für's JSON. Ein einfacher Server sollte hier im Forum irgend wo zu finden sein.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Kostenlose sind mir nicht bekannt. Du kannst dir einweder einen normalen Hoster nehmen der Python via CGI anbietet oder zu Pyhosting kommen, wo du Python via FastCGI bekommst - ab 3€/Monat bist du dabei.da.dom hat geschrieben:Kann man in Python "einfach" RPC/Servlet Aufrufe von einem Clienten verarbeiten (im Regelfall ein paar Strings zurückliefern aus ner Datenbank), sodass ich mit einem kostenlosen Serveranbieter im Web hinkomme (also will Python nur Serverseitig nutzen um Daten zurück zu geben). Geht so was "einfach" mit Python? Gibt es kostenlose Anbieter für so was?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Hat jemand ein gutes Tutorial für Python + CGI parat? Kenne CGI bisher gar nicht, darum sind die Tutorials die ich bisher gefunden habe, die sich spezielle auf Python beziehen für mich ein wenig dünn... . Mir geht es da eher um die Grundlage: wir bringe ich meinen Server dazu eingehende Request mit meinem Python-Script zu beantworten? Welchen Server brauche ich (hab hier bisher nur einen GlassFish, aber von dem will ich ja ohenhin weg, weil einen Java App Server kostenlos wird es wohl nie geben )?
Wäre fein wenn da jemand ein wenig LeseStoff bei der Hand hat .
Danke
D
Wäre fein wenn da jemand ein wenig LeseStoff bei der Hand hat .
Danke
D
Zuletzt geändert von da.dom am Montag 23. Juni 2008, 12:50, insgesamt 1-mal geändert.
Such mal im Netz nur nach CGI. Die Schnittstelle ist ja sprachunabhängig. Und mit HTTP sollte man sich auch ein wenig auskennen.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Wenn du meinen Rat hören willst: vergiss CGI, das ist wie auf ein totes Pferd setzen. Stattdessen solltest du dich besser mit WSGI oder einem Framework auseinandersetzen.da.dom hat geschrieben:Hat jemand ein gutes Tutorial für Python + CGI parat?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Das werde ich wohl über kurz über lang auch wohl tuen, aber da ich gerade erst mit Python anfange (und eigentlich noch gar nicht in die WebEntwicklung gehen wollte, sondern erst mal mein Buch weiter lesen wollte...aber jetzt doch wieder so halb am basteln bin...), würde ich schon gerne, gerade am Anfang mich mit den Grundlagen vertraut machen und erst mal mit der älteren Technologie anfangen bevor ich mich dann auf ein Framwork stürze (im Hinblick auf Webspace, habe ich auch einige wenige kostenlose Anbieter für CGI + Python gefunden, für die Frameworks werde ich ja sicherlich zusatzinstallationen auf dem Webspae brauchen die ich nicht durchführen kann?!)... also keine Angst mein Erspartes setze ich nichtLeonidas hat geschrieben:Wenn du meinen Rat hören willst: vergiss CGI, das ist wie auf ein totes Pferd setzen. Stattdessen solltest du dich besser mit WSGI oder einem Framework auseinandersetzen.
Und weil ich alleine scheinbar nirgendwo weiter komme, gleich mal ein Problem
habe ich anhand eines Tutorials/API das ich gefunden habe gebaut.
Leider will das ganze nicht
Fehler in:
search=request["searchKey"].value
builtin TypeError = <type 'exceptions.TypeError'>
<type 'exceptions.TypeError'>: not indexable
args = ('not indexable',)
message = 'not indexable'
Code: Alles auswählen
#!C:/Java/Python/python.exe
import cgi
import urllib
import cgitb; cgitb.enable()
request=cgi.FieldStorage()
search=request["searchKey"].value
response=urllib.urlopen("http://search.yahooapis.com/WebSearchService/V1/webSearch?appid=GWT-Book&output=json&query="+str(search));
print "Content-type: text/plain\n\n"
print response.read()
Leider will das ganze nicht
Fehler in:
search=request["searchKey"].value
builtin TypeError = <type 'exceptions.TypeError'>
<type 'exceptions.TypeError'>: not indexable
args = ('not indexable',)
message = 'not indexable'
Ich hab jetzt noch mal ein wenig rum probiert, aber irgendwie klappt hier gar nichts .
Auf Client Seite packe ich ein JSON Objekt, das ich zum Clienten übertrage, da kommt so was an:
hier mal ein Ausschnitt aus dem Clienten:
(habs hier mal mit json=... probiert, ohne gehts auch nicht)
sendRequest("json="+jsonObject.....
Server:
sieht für mich richtig aus? Wenn ich dem ganzen aber wie gesagt zur Leibe Rücken will, und das Json Element haben will behauptet er:
<type 'exceptions.TypeError'>: not indexable
args = ('not indexable',)
message = 'not indexable'
Auf Client Seite packe ich ein JSON Objekt, das ich zum Clienten übertrage, da kommt so was an:
hier mal ein Ausschnitt aus dem Clienten:
(habs hier mal mit json=... probiert, ohne gehts auch nicht)
sendRequest("json="+jsonObject.....
Server:
Code: Alles auswählen
print cgi.FieldStorage()
>> FieldStorage(None, None, 'json={"searchKey":"DD", "maxResults":5}')
<type 'exceptions.TypeError'>: not indexable
args = ('not indexable',)
message = 'not indexable'
Das `FieldStorage` scheint schon ein einzelner Wert zu sein. Sonst sieht dass nämlich eher so aus:
FieldStorage(None, None, [MiniFieldStorage('test', '42')])
Greif mal auf das `value`-Attribut zu.
FieldStorage(None, None, [MiniFieldStorage('test', '42')])
Greif mal auf das `value`-Attribut zu.