Un HttpClient de dart:io acepta su decisión de proxy mediante findProxy. La función de devolución devuelve una directiva al estilo PAC:

import 'dart:io';

final client = HttpClient()
  ..findProxy = (_) => 'PROXY proxy.example.net:8080';

Usa este cliente para las peticiones de la aplicación. Devolver http://proxy.example.net:8080 es el formato incorrecto para esta función; PROXY seguido del host y el puerto es la forma admitida. Para peticiones públicas permitidas, toma un candidato HTTP de la lista de proxies HTTP y dale el formato de esa directiva.

La función recibe el URI de destino, así que puede devolver DIRECT para un salto deliberado. Un resultado como PROXY proxy.example.net:8080; DIRECT también permite un respaldo directo cuando el proxy no se puede usar. Omite DIRECT cuando ese respaldo no interese.

Sin una función findProxy, esta API usa conexiones directas. Las aplicaciones que quieren una selección basada en el entorno pueden asignar HttpClient.findProxyFromEnvironment a la función.

Esto se aplica al código Flutter que usa dart:io en plataformas nativas compatibles. Las peticiones de Flutter Web usan las capacidades de red del navegador y requieren la política de proxy del navegador.

Artículos relacionados