يقبل 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 فتستخدم إمكانات الشبكة في المتصفح وتتطلب سياسة الوكيل الخاصة بالمتصفح.

مقالات ذات صلة