py Project mit web.py

Django, Flask, Bottle, WSGI, CGI…
Antworten
gNeandr
User
Beiträge: 68
Registriert: Sonntag 11. Mai 2014, 16:48

@BlackJack
Danke ... damit ist mein Abend gerettet .. ohne TV oder so :)
gNeandr
User
Beiträge: 68
Registriert: Sonntag 11. Mai 2014, 16:48

@BlackJack: Danke für den obigen Vorschlag:
... skizziert mittels `bottle`:

Code: Alles auswählen

@route('/send_message', method='POST')
def send_message():
    message = request.params['message']
    if not message:
        message = 'pyClient : {0}'.format(datetime.datetime.now())
    address = (server, 6001)
    conn = Client(address, authkey='secret password')
    conn.send(message)
    conn.close()

    return {}
Das klappt keine Frage, habe es auch mit conn.recv() erweitert und bekomme auch "einfache" Strings zurück.
Allerdings scheitere ich im Moment daran ein JSON zu übertragen.
Als Rückmeldung wandle ich JSON Daten mittels str(..) um was dann kein Problem beim Senden macht. Aber auf der Empfangsseite sollte ich wieder aus dem String JSON Daten machen, um damit vernünftig zu arbeiten.

Kannst mir da Hinwesie geben .. vllt. ist ja der Ansatz aus JSON mittels str(..) die Übertragung zu machen schon "schief" :?
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Python hat ein json-Modul, das nimmt dir die ganze Arbeit ab. In diesem Fall brauchst du die loads- und die dumps-Methoden. Letztere solltest du, statt deines str-Aufrufs, zur Umwandlung in einen json-String verwenden.
Das Leben ist wie ein Tennisball.
BlackJack

Wobei ich vorher schauen würde was das Webrahmenwerk bietet. Bottle macht das zum Beispiel automatisch wenn der Rückgabewert ein `dict` ist. Dann muss man sich eventuell auch nicht um so etwas wie die HTTP-Header kümmern die sagen das es sich um JSON und nicht um HTML handelt.
Antworten