7

GTK Webkitで実行されているJavaScriptアプリから、POSTで送信されたデータを使用してHTTPリクエストを介してPythonにデータを送信しようとしています。

resource-request-startingリクエストのURIを使用して確認することで、リクエストをキャプチャできます。

リクエストヘッダーを介してデータを送信し、

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')

しかし、私が使用するとき、私はprint request.get_message().request_body.data何も得られません。

POSTデータを表示するにはどうすればよいですか?

4

2 に答える 2

0

SoupSession の「request-queued」シグナルにフックし、soup_message_body_get_chunk(soupmsgbody, num); を使用してバッファを取得します。動作しているようです (今日の webkitgtk1、2015 年 6 月)。webkit_get_default_session() は、問題の SoupSession を返します。

于 2015-06-08T09:05:00.347 に答える
0

私はこの API を使用していませんがsoup_message_body_flatten()、フィールドを読み取る前に、バインディングに相当するものを呼び出す必要があると思いますdataSoupMessageBodyC APIのドキュメントを参照してください。

したがって、推測では:

print request.get_message().request_body.flatten().data
于 2012-11-03T05:13:39.400 に答える