2

我一直在尝试弄清楚如何使用 Webkit GTK API 来获取特定页面加载的 HTTP 响应代码。

Webkit GTK 使用Soup API进行 HTTP 网络,根据文档,似乎有两个相关信号:"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'

谷歌搜索resource-response-received,我发现几乎没有关于这个信号的信息。该文档声称它可以满足我的需求,但实际上它并没有真正起作用。

所以,我不知道我是不是走错了路。但总的来说,谁能提供一个示例,说明如何使用 Webkit GTK 获取页面加载的实际 HTTP 状态代码(如 200、404 等)?

4

1 回答 1

1

您使用的是 WebKit 1.7.5 或更高版本吗?请参阅您链接到的文档底部的注释。

于 2012-08-13T15:51:27.510 回答