HttpClient dari dart:io menerima keputusan proxy-nya melalui findProxy. Callback mengembalikan direktif bergaya PAC:

import 'dart:io';

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

Gunakan klien ini untuk permintaan aplikasi. Mengembalikan http://proxy.example.net:8080 adalah format yang salah untuk callback ini; PROXY diikuti host dan port adalah bentuk yang didukung. Untuk permintaan publik yang diizinkan, ambil kandidat HTTP dari daftar proxy HTTP dan format sebagai direktif tersebut.

Callback menerima URI tujuan, jadi dapat mengembalikan DIRECT untuk bypass yang disengaja. Hasil seperti PROXY proxy.example.net:8080; DIRECT juga mengizinkan fallback langsung saat proxy tidak dapat dipakai. Hilangkan DIRECT bila fallback itu tidak diinginkan.

Tanpa fungsi findProxy, API ini memakai koneksi langsung. Aplikasi yang ingin pemilihan berbasis lingkungan dapat menetapkan HttpClient.findProxyFromEnvironment ke callback.

Ini berlaku untuk kode Flutter yang memakai dart:io pada platform native yang didukung. Permintaan Flutter Web memakai fasilitas jaringan peramban dan memerlukan kebijakan proxy peramban.

Artikel terkait