問題タブ [dart-http]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
json - ローカル IP アドレスで dart/flutter から http.get を使用しているときに statuscode = 400 を取得する
私の目標:
デバイスによって生成された JSON データを取得するために、ローカル ネットワーク内のデバイスで実行されている RestApi に対して get 要求を行いたいと考えています。
何が起こるのですか
RestApi は、ネットワーク内の他のすべてのデバイスからのブラウザー呼び出しに正しく応答します。Bash の curl も機能しますが、dart の http.get を介してデータにアクセスしようとすると、プログラムは JSON データの取得に失敗します - Statuscode 400 を取得しています。
ブラウザ呼び出し結果
私が試したこと:
- URLをいじって、正しく書かれていることを確認し、
- ヘッダーの設定 {"content" : "application/json"}
- ヘッダーを使用しない (デフォルト)
- 別の dart ファイルとフラッター アプリに埋め込まれた関数から API 呼び出しを実行します。どちらも Statuscode 400 になりましたが、flutter はさらにいくつかのバグ情報を提供しました: Unhandled Exception: SocketException: OS Error: No route to host, errno = 113. 他のことを試したときにも errno = 111 を見たことがあると思います。
- Http の代わりに低レベルの HttpClient を使用する
flutter アプリでは、http.get を介して Firebase に保存されているデータに簡単に接続できますが、ローカル ネットワークでデバイスを呼び出すと、上記のシナリオが発生します。
スタンドアロンのダーツ ファイル
flutter プロジェクトに埋め込まれた呼び出し
応答で statuscode 200 と JSON データを取得することを期待しています。代わりに、応答オブジェクトのみが作成され、接続は確立されません。
それがなぜなのかを理解するのを手伝ってもらえますか?