7

我正在尝试通过 HTTP 请求将数据从在 GTK webkit 中运行的 javascript 应用程序发送到 Python,并在 POST 中发送数据。

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

我没有使用过这个 API,但我相信您需要soup_message_body_flatten()在读取该data字段之前调用绑定的等效项。请参阅SoupMessageBodyC API 中的文档。

所以,猜测一下:

print request.get_message().request_body.flatten().data
于 2012-11-03T05:13:39.400 回答
0

使用 soup_message_body_get_chunk(soupmsgbody, num) 连接到 SoupSession “请求队列”信号并获取缓冲区;似乎工作(在 webkitgtk1 今天,2015 年 6 月)。webkit_get_default_session() 返回有问题的 SoupSession。

于 2015-06-08T09:05:00.347 回答