Ein HttpClient aus dart:io nimmt seine Proxy-Entscheidung über findProxy an. Der Callback gibt eine Direktive im PAC-Stil zurück:

import 'dart:io';

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

Verwende diesen Client für die Anfragen der Anwendung. http://proxy.example.net:8080 zurückzugeben ist für diesen Callback das falsche Format; PROXY gefolgt von Host und Port ist die unterstützte Form. Für erlaubte öffentliche Anfragen nimm einen HTTP-Kandidaten aus der HTTP-Proxy-Liste und formatiere ihn als diese Direktive.

Der Callback erhält die Ziel-URI und kann daher DIRECT für eine bewusste Umgehung zurückgeben. Ein Ergebnis wie PROXY proxy.example.net:8080; DIRECT erlaubt auch einen direkten Rückfall, wenn der Proxy nicht nutzbar ist. Lass DIRECT weg, wenn dieser Rückfall unerwünscht ist.

Ohne findProxy-Funktion nutzt diese API direkte Verbindungen. Anwendungen, die eine umgebungsbasierte Auswahl wünschen, können dem Callback stattdessen HttpClient.findProxyFromEnvironment zuweisen.

Das gilt für Flutter-Code, der dart:io auf unterstützten nativen Plattformen verwendet. Anfragen von Flutter Web nutzen die Netzwerkfunktionen des Browsers und erfordern dessen Proxy-Richtlinie.

Ähnliche Artikel