界面
GioProxy
since: 2.26
描述 [src]
interface Gio.Proxy : GObject.Object
GProxy
会处理通过给定类型的代理服务器连接到远程主机的连接。gio-proxy
扩展点实现了该代理。扩展点是使用代理协议名称来命名的。例如,可以使用名称 socks5
和函数 g_io_extension_point_get_extension_by_name()
来检索 SOCKS5 代理实现。
自 2.26 起提供
先决条件
为了实现代理,类型必须继承自GObject
。
实例方法
g_proxy_connect
将 connection
与代理进行通信(例如,连接到代理服务器的 GSocketConnection
),这将使用必要的握手来连接到 proxy_address
,如果需要,将对 GIOStream
进行包装来处理代理 有效负载。
since: 2.26
g_proxy_supports_hostname
一些代理协议会期望传递主机名,然后他们会自己将其解析为 IP 地址。其他协议(如 SOCKS4)不允许这样做。如果 proxy
正在实施这样的协议,此函数将返回 FALSE
。当返回 FALSE
时,应该首先解析目标主机名,然后将包含字符串化 IP 地址的 GProxyAddress
传递给 g_proxy_connect()
或 g_proxy_connect_async()。
since: 2.26
接口结构
struct GioProxyInterface {
GTypeInterface g_iface;
GIOStream* (* connect) (
GProxy* proxy,
GIOStream* connection,
GProxyAddress* proxy_address,
GCancellable* cancellable,
GError** error
);
void (* connect_async) (
GProxy* proxy,
GIOStream* connection,
GProxyAddress* proxy_address,
GCancellable* cancellable,
GAsyncReadyCallback callback,
gpointer user_data
);
GIOStream* (* connect_finish) (
GProxy* proxy,
GAsyncResult* result,
GError** error
);
gboolean (* supports_hostname) (
GProxy* proxy
);
}
提供用于处理代理连接和 有效负载的接口。
接口成员
g_iface |
|
父 接口。 |
|
connect |
|
连接到代理服务器并对 (如果需要) #connection 进行包装来处理 有效负载。 |
|
connect_async |
|
与 |
|
connect_finish |
|
返回 connect_async() 的结果。 |
|
supports_hostname |
|
返回代理是否支持主机名 查找。 |
虚拟方法
Gio.Proxy.connect
将 connection
与代理进行通信(例如,连接到代理服务器的 GSocketConnection
),这将使用必要的握手来连接到 proxy_address
,如果需要,将对 GIOStream
进行包装来处理代理 有效负载。
since: 2.26
Gio.Proxy.supports_hostname
一些代理协议会期望传递主机名,然后他们会自己将其解析为 IP 地址。其他协议(如 SOCKS4)不允许这样做。如果 proxy
正在实施这样的协议,此函数将返回 FALSE
。当返回 FALSE
时,应该首先解析目标主机名,然后将包含字符串化 IP 地址的 GProxyAddress
传递给 g_proxy_connect()
或 g_proxy_connect_async()。
since: 2.26