Skip to content

Gio.ProxyResolver

interface

GProxyResolver provides synchronous and asynchronous network proxy resolution. GProxyResolver is used within SocketClient through the method SocketConnectable.proxy_enumerate.

Implementations of GProxyResolver based on libproxy and GNOME settings can be found in glib-networking. GIO comes with an implementation for use inside Flatpak portals.

Methods

is_supported

def is_supported(self) -> bool

Checks if resolver can be used on this system. (This is used internally; ProxyResolver.get_default will only return a proxy resolver that returns True for this method.)

lookup

def lookup(self, uri: str, cancellable: Cancellable | None = ...) -> list[str]

Looks into the system proxy configuration to determine what proxy, if any, to use to connect to uri. The returned proxy URIs are of the form <protocol>://[user[:password]@]host[:port] or direct://, where <protocol> could be http, rtsp, socks or other proxying protocol.

If you don't know what network protocol is being used on the socket, you should use none as the URI protocol. In this case, the resolver might still return a generic proxy type (such as SOCKS), but would not return protocol-specific proxy types (such as http).

direct:// is used when no proxy is needed. Direct connection should not be attempted unless it is part of the returned array of proxies.

Parameters:

  • uri — a URI representing the destination to connect to
  • cancellable — a Cancellable, or None

lookup_async

def lookup_async(self, uri: str, cancellable: Cancellable | None = ..., callback: Callable[[ProxyResolver | None, AsyncResult], None] | None = ...) -> None

Asynchronous lookup of proxy. See ProxyResolver.lookup for more details.

Parameters:

  • uri — a URI representing the destination to connect to
  • cancellable — a Cancellable, or None
  • callback — callback to call after resolution completes

lookup_finish

def lookup_finish(self, result: AsyncResult) -> list[str]

Call this function to obtain the array of proxy URIs when ProxyResolver.lookup_async is complete. See ProxyResolver.lookup for more details.

Parameters:

  • result — the result passed to your GAsyncReadyCallback

Static functions

get_default

@staticmethod
def get_default() -> ProxyResolver

Gets the default ProxyResolver for the system.

Virtual methods

do_is_supported

def do_is_supported(self) -> bool

Checks if resolver can be used on this system. (This is used internally; ProxyResolver.get_default will only return a proxy resolver that returns True for this method.)

do_lookup

def do_lookup(self, uri: str, cancellable: Cancellable | None = ...) -> list[str]

Looks into the system proxy configuration to determine what proxy, if any, to use to connect to uri. The returned proxy URIs are of the form <protocol>://[user[:password]@]host[:port] or direct://, where <protocol> could be http, rtsp, socks or other proxying protocol.

If you don't know what network protocol is being used on the socket, you should use none as the URI protocol. In this case, the resolver might still return a generic proxy type (such as SOCKS), but would not return protocol-specific proxy types (such as http).

direct:// is used when no proxy is needed. Direct connection should not be attempted unless it is part of the returned array of proxies.

Parameters:

  • uri — a URI representing the destination to connect to
  • cancellable — a Cancellable, or None

do_lookup_async

def do_lookup_async(self, uri: str, cancellable: Cancellable | None = ..., callback: Callable[[ProxyResolver | None, AsyncResult], None] | None = ...) -> None

Asynchronous lookup of proxy. See ProxyResolver.lookup for more details.

Parameters:

  • uri — a URI representing the destination to connect to
  • cancellable — a Cancellable, or None
  • callback — callback to call after resolution completes

do_lookup_finish

def do_lookup_finish(self, result: AsyncResult) -> list[str]

Call this function to obtain the array of proxy URIs when ProxyResolver.lookup_async is complete. See ProxyResolver.lookup for more details.

Parameters:

  • result — the result passed to your GAsyncReadyCallback