2012-08-13 96 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