2012-09-21 14 views
7

Sto cercando di inviare dati da un'app javascript in esecuzione in GTK webkit a Python tramite una richiesta HTTP con i dati inviati in POST.Ottieni dati POST da WebKitNetworkRequest

Posso acquisire la richiesta utilizzando resource-request-starting e controllare l'uri della richiesta.

so la richiesta funziona perché posso inviare i dati attraverso le intestazioni di richiesta e visualizzarlo con

def on_resource_request_starting(view, frame, resource, request, response): 
    uri = urllib.unquote(request.props.uri) 
    if uri.startswith('http://appname.local/'): 
     print request.get_message().request_headers.get_one('foobar') 

Ma quando uso print request.get_message().request_body.data io non ottenere nulla.

Come visualizzare i dati POST?

+0

Si prega di inviare la risposta se lo troverai – Vor

risposta

0

Non ho usato questa API, ma credo che sia necessario chiamare l'equivalente della bacheca di soup_message_body_flatten() prima di leggere il campo data. Consultare la documentazione per SoupMessageBody nell'API C.

Così, a occhio e croce:

print request.get_message().request_body.flatten().data 
0
segnale "richiesta-coda"

aggancio al SoupSession e ottenere tampone (s) utilizzando soup_message_body_get_chunk (soupmsgbody, num); sembra funzionare (in webkitgtk1 oggi, giugno 2015). webkit_get_default_session() restituisce la SoupSession in questione.