Un HttpClient din dart:io își primește decizia de proxy prin findProxy. Funcția de apel invers returnează o directivă în stil PAC:

import 'dart:io';

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

Folosește acest client pentru cererile aplicației. Returnarea http://proxy.example.net:8080 este formatul greșit pentru acest apel invers; forma acceptată este PROXY urmat de gazdă și port. Pentru cereri publice permise, ia un candidat HTTP din lista de proxyuri HTTP și formatează-l ca acea directivă.

Apelul invers primește URI-ul destinației, deci poate returna DIRECT pentru o ocolire deliberată. Un rezultat ca PROXY proxy.example.net:8080; DIRECT permite și o revenire directă atunci când proxyul nu poate fi folosit. Omite DIRECT când acea revenire nu este dorită.

Fără o funcție findProxy, acest API folosește conexiuni directe. Aplicațiile care vor o selecție bazată pe mediu pot atribui HttpClient.findProxyFromEnvironment apelului invers.

Acest lucru se aplică codului Flutter care folosește dart:io pe platforme native acceptate. Cererile Flutter Web folosesc facilitățile de rețea ale browserului și necesită politica de proxy a browserului.

Articole similare