我正在按照 Flutter Networking/HTTP 教程对在我的 localhost:8000 上运行的服务器执行 GET 请求。通过浏览器访问我的本地主机工作正常。当我指向任何真实的 URL 时,这也很好用,例如https://example.com,但是当我指向https://127.0.0.1:8000 时,我收到类似“连接被拒绝”的错误
每次我重新加载应用程序时,上述错误中的端口都会发生变化。我查看了 http 包代码,似乎没有办法为 URL 指定端口。我如何指向我的本地主机,这是我第一次使用 flutter 吗?PS:我在我的手机设备上运行,我的电脑和手机用同一个 wifi 连接,我的网络是私有的。
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:http/http.dart' as http;
import 'dart:convert';
class MyHomePage extends StatefulWidget {
const MyHomePage({Key key}) : super(key: key);
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
static const url = 'http://127.0.0.1:8000/api/membres/';
// static const url = 'http://10.0.2.2:8000/api/membres/';
//static const url = 'http://localhost:8000/api/membres/';
//static const url= "192.168.1...:8000/association/api/membres";
//static const url = …Run Code Online (Sandbox Code Playgroud) 我是 Flutter 的新手,我尝试从“10.0.2.2:8000/api/membres”上的 api 中获取数据,但得到了类似 List dynamic 类型不是“List”类型的子类型的错误。我正在关注颤振的例子:https : //flutter.dev/docs/cookbook/networking/fetch-data#complete-example
请帮助我遵循一个有用的教程,并告诉我如何修复此代码。
我的主页.dart
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:http/http.dart' as http;
import 'dart:convert';
class MyHomePage extends StatefulWidget {
const MyHomePage({Key key}) : super(key: key);
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
static const url = "10.0.2.2:8000/api/membres";
Future<List<Map<String, dynamic>>> _future;
@override
void initState() {
super.initState();
_future = fetch();
}
Future<List<Map<String, dynamic>>> fetch() {
return http
.get("http://10.0.2.2:8000/api/membres")
.then((response) {
return response.statusCode == 200
? response.body
: throw 'Error …Run Code Online (Sandbox Code Playgroud)