[解決済み] POSTリクエスト中にCERTIFICATE_VERIFY_FAILEDエラーが発生した場合、どのように解決しますか?
2022-09-25 11:22:08
質問
Dartでpostリクエストを送信しています。PostmanのようなAPIテストツールでテストすると、それは応答を与えています。しかし、私はアプリを実行するとき。それは私に次のエラーを与える:-。
E/flutter ( 6264): HandshakeException: Handshake error in client (OS Error: E/flutter ( 6264): CERTIFICATE_VERIFY_FAILED: unable to get local issuer certificate(handshake.cc:363))
以下は、この関数の私のコードです。
Future getAccessToken(String url) async {
try {
http.post('url',
body: {
"email": "[email protected]",
"password": "1234"
}).then((response) {
print("Reponse status : ${response.statusCode}");
print("Response body : ${response.body}");
var myresponse = jsonDecode(response.body);
String token = myresponse["token"];
});
} catch (e) {
print(e.toString());
}
これがエラーの全容です。
E/flutter ( 6264): [ERROR:flutter/shell/common/shell.cc(184)] Dart Error: Unhandled exception: E/flutter ( 6264): HandshakeException: Handshake error in client (OS Error: E/flutter ( 6264): CERTIFICATE_VERIFY_FAILED: unable to get local issuer certificate(handshake.cc:363)) E/flutter ( 6264): #0 IOClient.send (package:http/src/io_client.dart:33:23) E/flutter ( 6264): <asynchronous suspension> E/flutter ( 6264): #1 BaseClient._sendUnstreamed (package:http/src/base_client.dart:169:38) E/flutter ( 6264): <asynchronous suspension> E/flutter ( 6264): #2 BaseClient.post (package:http/src/base_client.dart:54:7) E/flutter ( 6264): #3 post.<anonymous closure> (package:http/http.dart:70:16) E/flutter ( 6264): #4 _withClient (package:http/http.dart:166:20) E/flutter ( 6264): <asynchronous suspension> E/flutter ( 6264): #5 post (package:http/http.dart:69:5) E/flutter ( 6264): #6
_MyLoginFormState.getAccessToken (package:chart/main.dart:74:7) E/flutter ( 6264): <asynchronous suspension> E/flutter ( 6264): #7
_MyLoginFormState.build.<anonymous closure> (package:chart/main.dart:64:29)
どのように解決するのですか?
Flutter/Dartの初心者のためにわかりやすくするために、プロジェクトでこのオプションをグローバルに有効にするために必要なことを説明します。
- main.dart ファイルで、次のクラスを追加またはインポートします。
class MyHttpOverrides extends HttpOverrides{ @override HttpClient createHttpClient(SecurityContext? context){ return super.createHttpClient(context) ..badCertificateCallback = (X509Certificate cert, String host, int port)=> true; } }
- main関数で、関数定義の後に以下の行を追加してください。
HttpOverrides.global = MyHttpOverrides()。
これは のコメントは、この問題を通過するために非常に有用であった。 とご了承ください。
これは開発モードの時に使うべきもので、次のようにします。 ではない は、本番環境へリリースする際に使用するもので、この回答の目的は、次のとおりです。 本番では、証明書の問題を修正し、適切に使用する必要があります。あなたのケースに役立つかもしれないので、これについては他の回答を見てください。
関連
-
[解決済み】Dartで日付をフォーマットする方法とは?
-
[解決済み】ダーツのダブルドット(.)の使い方をリストアップしてみる?
-
[解決済み】Flutterで数値入力フィールドを作成する方法は?
-
[解決済み] dartでenumにメソッドや値を追加する
-
[解決済み] "extends" 対 "implements" 対 "with" (拡張する)。
-
[解決済み] Flutter SVG レンダリング
-
[解決済み] TextFieldのBorder Colorを変更できない。
-
[解決済み] タイムスタンプの変換
-
[解決済み] Dart マルチプルコンストラクタ
-
[解決済み] ステートレスウィジェットクラスのKeyとは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] FlutterのBuildキャッシュをクリアする方法は?
-
[解決済み】ダーツのダブルドット(.)の使い方をリストアップしてみる?
-
[解決済み] dartでenumにメソッドや値を追加する
-
[解決済み] "extends" 対 "implements" 対 "with" (拡張する)。
-
[解決済み] Flutter SVG レンダリング
-
[解決済み] Dartで "new "キーワードを使う必要があるのか?
-
[解決済み] タイムスタンプの変換
-
[解決済み] ローカルフラッターパッケージを別のフラッターアプリケーションで使用するには?
-
[解決済み] Dart マルチプルコンストラクタ
-
[解決済み] ステートレスウィジェットクラスのKeyとは何ですか?