我试图通过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数据?
答案 0 :(得分:0)
我没有使用过此API,但我相信在阅读soup_message_body_flatten()
字段之前,您需要调用绑定的等效data
。请参阅C API中的SoupMessageBody
文档。
所以,猜测:
print request.get_message().request_body.flatten().data
答案 1 :(得分:0)
连接到SoupSession"请求排队"信号和得到 buffer(s)使用soup_message_body_get_chunk(soupmsgbody,num); 似乎工作(今天在webkitgtk1,2015年6月)。 webkit_get_default_session()返回有问题的SoupSession。