2012-08-13 155 views
1

我一直試圖弄清楚如何使用Webkit GTK API來獲取特定頁面加載的HTTP響應代碼。Webkit GTK:獲取HTTP響應

的Webkit GTK使用Soup API爲HTTP的網絡,並根據documentation,似乎有兩個相關的信號:"resource-request-starting""resource-response-received"

所以,我嘗試了"resource-request-starting"連接信號:

g_signal_connect(web_view, "resource-request-starting", G_CALLBACK(resource_request_starting_callback), 0); 

...和它的作品。在回調處理程序中,我可以訪問底層的SoupMessage對象,該對象向我提供有關HTTP請求的信息。


所以這讓我的HTTP請求,但是......當我試圖讓實際的HTTP響應,我遇到了麻煩。我試圖監聽"resource-response-received"信號:

g_signal_connect(web_view, "resource-response-received", G_CALLBACK(resource_response_received_callback), 0); 

這將導致GTK發出警告:

GLib-GObject-WARNING **: /build/buildd/glib2.0-2.30.0/./gobject/gsignal.c:2295: signal `resource-response-received' is invalid for instance `0x2b46c00' 

周圍的Googling爲resource-response-received,我發現幾乎沒有在所有關於該信號的信息。 documentation claims它做我想要的,但實際上它並不實際工作。

所以,我不知道我是否會以這種錯誤的方式去做。但總的來說,任何人都可以提供一個例子,說明如何使用Webkit GTK爲頁面加載獲取實際的HTTP狀態代碼(如200,404等)?

回答

1

您使用的是WebKit 1.7.5或更高版本?請參閱您鏈接到的文檔底部的註釋。

+0

當使用真正舊版本的webkitgtk時,如何檢測404頁面加載?我相信我正在使用1.4 ish ... – Chimera 2015-03-20 21:31:51