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 выкарыстоўваюць сеткавыя магчымасці браўзера і патрабуюць палітыкі проксі браўзера.

Падобныя артыкулы