パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v0.1.0

system_proxy

システムプラグインを取得するためのFlutterプラグイン。dart HttpClientのプロキシを設定してリクエストを取得するために使用します。

AndroidiOS
30日間ダウンロード
8230
いいね数
23
Pub ポイント
150

パッケージをインストール

flutter pub add system_proxy

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

system_proxy パッケージは、Android および iOS でシステムに設定されたプロキシ設定にアクセスできる Flutter プラグインです。開発者はシステムのプロキシ構成を取得し、Dart の HttpClient に適用することで、ネットワークリクエストがデバイスのネットワーク環境を尊重することを保証できます。企業や制限付きネットワークの背後にアプリを実行する必要がある場合に特に役立ちます。このプラグインは、ホスト、ポート、除外ルールなどのプロキシ詳細を抽出するためのシンプルな API を提供することで、統合を容易にします。

用途

  • エンタープライズアプリケーションでシステムプロキシ設定にアクセスする
  • システムプロキシを使用した HttpClient の設定
  • 企業ネットワークポリシーの遵守を確保する
  • Android および iOS でのプロキシ構成の自動処理
  • 制限されたネットワーク環境でのインターネットアクセスの有効化

主な機能

  • AndroidおよびiOSでシステムプロキシ設定を取得します
  • Dart HttpClient のプロキシ設定をサポート
  • プロキシホストおよびポートの自動検出
  • プロキシ除外リストの管理
  • クロスプラットフォーム互換性

適している対象

  • エンタープライズモバイルアプリケーション
  • ネットワークの透過性を必要とするアプリ
  • 制限されたネットワーク用のツールを開発する開発者
  • 自動プロキシ設定が必要なプロジェクト
  • 制御されたネットワーク環境にデプロイされたFlutterアプリ

注意事項

  • 適切なプラットフォームの権限が必要です
  • システムプロキシが設定されていない場合、動作しない可能性があります
  • HTTP/HTTPSプロキシ設定に限定
  • SOCKSプロキシのサポートはありません
  • 正しいシステムレベルのプロキシ設定に依存しています

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

system_proxy

A Flutter Plugin to get system proxy setting. It is used to proxy for Flutter and Dart HttpClient request。Because Dart HttpClient does not adapt the system proxy setting automatically in default, it's difficult to grab requests for testing .

获取系统代理配置。 可用于为flutter的Dart HttpClient的请求设置代理,因为默认Dart请求不会理睬系统代理配置,这对于抓取请求来进行测试等场景造成不小困难。

Getting Started

Install

Please add the plugin to pubspec.yaml.

Caution

It's useful for Android >= 23 .

Usage

Import

import 'package:system_proxy/system_proxy.dart';

Code

// the proxy value likes:  {port: 8899, host: 127.0.0.1}
Map<String, String> proxy = await SystemProxy.getProxySettings();
if (proxy != null) {
    print('proxy $proxy');
}
Setting Proxy for HttpClient
class ProxiedHttpOverrides extends HttpOverrides {
  String _port;
  String _host;
  ProxiedHttpOverrides(this._host, this._port);

  @override
  HttpClient createHttpClient(SecurityContext context) {
    return super.createHttpClient(context)
      // set proxy
      ..findProxy = (uri) {
        return _host != null ? "PROXY $_host:$_port;" : 'DIRECT';
      };
  }
}

void main() async {
  Map<String, String> proxy = await SystemProxy.getProxySettings();
  if (proxy == null) {
    proxy = {
    'host': null,
    'port': null
    };
  }
  HttpOverrides.global = new ProxiedHttpOverrides(proxy['host'], proxy['port']);
  runApp(MyApp());
}

カテゴリー

ソースリポジトリ

このパッケージを使用しているプロジェクト