2012-09-21 40 views
7

Tôi đang cố gắng gửi dữ liệu từ một ứng dụng javascript chạy trên webkit GTK tới Python thông qua yêu cầu HTTP với dữ liệu được gửi trong POST.Nhận dữ liệu POST từ WebKitNetworkRequest

Tôi có thể chụp yêu cầu bằng cách sử dụng resource-request-starting và kiểm tra yêu cầu của yêu cầu.

Tôi biết các yêu cầu làm việc vì tôi có thể gửi dữ liệu thông qua các tiêu đề yêu cầu và xem nó với

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

Nhưng khi tôi sử dụng print request.get_message().request_body.data Tôi không nhận được bất cứ điều gì.

Làm cách nào để xem dữ liệu POST?

+0

Vui lòng đăng câu trả lời nếu bạn tìm thấy câu trả lời – Vor

Trả lời

0

Tôi chưa sử dụng API này, nhưng tôi tin rằng bạn cần gọi số liên kết tương đương là soup_message_body_flatten() trước khi đọc trường data. Xem tài liệu cho SoupMessageBody trong API C.

Vì vậy, tại một đoán:

print request.get_message().request_body.flatten().data 
0

Hooking để SoupSession "request-xếp hàng đợi" tín hiệu và nhận được đệm (s) sử dụng soup_message_body_get_chunk (soupmsgbody, num); dường như hoạt động (trong webkitgtk1 hôm nay, tháng 6 năm 2015). webkit_get_default_session() trả về SoupSession được đề cập.

Các vấn đề liên quan