HttpClient iz dart:io sprejme odločitev o proxyju prek findProxy. Povratna funkcija vrne direktivo v slogu PAC:

import 'dart:io';

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

Uporabite tega odjemalca za zahteve aplikacije. Vračanje http://proxy.example.net:8080 je napačna oblika za to povratno funkcijo; podprta oblika je PROXY, ki mu sledita gostitelj in vrata. Za dovoljene javne zahteve vzemite kandidata HTTP s seznama proxyjev HTTP in ga oblikujte kot to direktivo.

Povratna funkcija prejme URI cilja, zato lahko vrne DIRECT za namerno izognevanje. Rezultat, kot je PROXY proxy.example.net:8080; DIRECT, dovoli tudi neposredno rezervno pot, ko proxyja ni mogoče uporabiti. DIRECT izpustite, kadar ta rezervna pot ni zaželena.

Brez funkcije findProxy ta API uporablja neposredne povezave. Aplikacije, ki želijo izbiro glede na okolje, lahko povratni funkciji dodelijo HttpClient.findProxyFromEnvironment.

To velja za kodo Flutterja, ki uporablja dart:io na podprtih izvornih platformah. Zahteve Flutter Web uporabljajo omrežne zmogljivosti brskalnika in zahtevajo njegovo politiko proxyja.

Sorodni članki