[Flutter]「Insecure HTTP is not allowed by platform」の対処法

FlutterでWeb通信(http通信)するためのパッケージである「chopper」あるいは「http」を使って、通信を行おうとすると、

Insecure HTTP is not allowed by platform

というエラーが出て処理が中断してしまうことがあります。

blank

なんじゃこれ!?という感じですが、これはFlutterの公式サイトで説明がありまして、

結論から言うと、アクセスしようとしたアドレスの先頭を「http」ではなく「https」にすれば解決するようです。

blank

アドレスが「https」で始まる場合は、通信が暗号化されているため「安全(=セキュア)」である一方、「http」で始まる場合は暗号化されていないため「安全でない(=インセキュア(Insecure)」と判断されるので、そのような通信はAndroid及びiOSでは拒否されてしまうことによるものだそうです。

Starting with Android API 28 and iOS 9, these platforms disable insecure HTTP connections by default.

With this change Flutter also disables insecure connections on mobile platforms. Other platforms (desktop, web, etc) are not affected.

You can override this behavior by following the platform-specific guidelines to define a domain-specific network policy. See the migration guide below for details.

Much like the platforms, the application can still open insecure socket connections. Flutter does not enforce any policy at socket level; you would be responsible for securing the connection.

下の動画の例で言うと、アクセスに使っていたアドレスが

https://newsapi.org/v2

になっていたので、

https://newsapi.org/v2

に変えるとうまくいきました。

(詳しくは、以下の動画で解説していますので、よろしければご覧下さい)

blank

こんな記事も読まれています

今すぐプレゼントを受け取る(約6時間のFlutter初級編体験版動画講座を無料でプレゼント)
blank

はじめての方へ

blank
みんプロ式プログラミング講座体系・ラインナップ
みんプロ式プログラミング講座受講の流れ(割引特典利用方法)
サイトマップ(みんプロHPコンテンツ一覧)
運営会社概要

おすすめコンテンツ

プログラミングを学ぶとどんないいことがあるのか
みんプロ式を選んでいただける6つの理由
ぼくの人生挫折ヒストリー(代表者プロフィール)
ぼくのプログラミング挫折ヒストリー(無料メール講座・6大特典付き)
今最も注目のアプリ開発ツール「Flutter(フラッター)」ミニ動画講座

みんプロ式動画講座(コア・Flutter)

ゼロからのFlutter(初級編)-はじめてのプログラミングからアプリリリースまで-
Flutter中級編1-Web通信・設計・状態管理・DIの基礎-
Flutter中級編2-Firebase/地図・カメラ連携等の基礎-
Flutter中級編3-広告/アプリ内課金等の基礎-
Flutter中級編4-Webアプリとレスポンシブデザインの基礎-

みんプロ式動画講座(サテライト)

Flutter/Dartトラブルシューティング・小ネタ集(コア初級編受講で無料プレゼント)
ゼロからのGit・GitHub(コマンドラインツールを極力使わないバージョン管理入門)
Flutter/Dartにおける設計・状態管理・DIの解説集
Dart逆引き大辞典
Flutterにおけるテストの基礎
blank
blank

みんプロ作成アプリ

blank
blank
blank
blank

TOP