2012-09-21 21 views
7

Estoy tratando de enviar datos desde una aplicación de JavaScript que se ejecuta en GTK webkit a Python a través de una solicitud HTTP con los datos enviados en POST.Obtener datos POST de WebKitNetworkRequest

Puedo capturar la solicitud usando resource-request-starting y verificar el uri de la solicitud.

sé la solicitud funciona porque puedo enviar datos a través de las cabeceras de petición y verlo 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') 

Pero cuando se utiliza print request.get_message().request_body.data No conseguir cualquier cosa.

¿Cómo veo los datos POST?

+0

Por favor, publique la respuesta si lo encontrará – Vor

Respuesta

0

No he usado esta API, pero creo que debe llamar al equivalente del enlace de soup_message_body_flatten() antes de leer el campo data. Consulte la documentación para SoupMessageBody en la API de C.

Así, a ojo:

print request.get_message().request_body.flatten().data 
0
señal

El enganchar a SoupSession "petición-cola" y conseguir memoria intermedia (s) usando soup_message_body_get_chunk (soupmsgbody, num); parece funcionar (en webkitgtk1 hoy, jun 2015). webkit_get_default_session() devuelve la sopa de sopa en cuestión.

Cuestiones relacionadas