HttpClient от dart:io приема решението си за прокси чрез findProxy. Функцията за обратно извикване връща директива в стил PAC:

import 'dart:io';

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

Използвайте този клиент за заявките на приложението. Връщането на http://proxy.example.net:8080 е грешен формат за това обратно извикване; PROXY, последвано от хоста и порта, е поддържаната форма. За разрешени публични заявки вземете HTTP кандидат от списъка с HTTP проксита и го оформете като тази директива.

Обратното извикване получава URI на дестинацията, затова може да върне DIRECT за умишлено заобикаляне. Резултат като PROXY proxy.example.net:8080; DIRECT също позволява директен резервен път, когато проксито не може да се използва. Пропуснете DIRECT, когато този резервен път не е желан.

Без функция findProxy този API използва директни връзки. Приложенията, които искат избор според средата, могат да зададат HttpClient.findProxyFromEnvironment на обратното извикване.

Това се отнася за код на Flutter, който използва dart:io на поддържани нативни платформи. Заявките на Flutter Web използват мрежовите възможности на браузъра и изискват неговата прокси политика.

Подобни статии