我无法将 URL 链接分配给 http.get() [重复]
Posted
技术标签:
【中文标题】我无法将 URL 链接分配给 http.get() [重复]【英文标题】:I can not assign URL link to http.get() [duplicate] 【发布时间】:2021-06-02 21:18:51 【问题描述】:我尝试使用 http 包,但我无法将 URL 链接分配给 http.get(),这表明我无法将字符串分配给参数 Uri。
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'dart:async';
import 'dart:convert';
class MyHomePage extends StatefulWidget
final String title;
MyHomePage(Key key, this.title) : super(key: key);
@override
_MyHomePageState createState() => _MyHomePageState();
class _MyHomePageState extends State<MyHomePage>
Future<List<User>> _getUsers()
http.get("http://www.json-generator.com/api/json/get/crbzxbbLIi?indent=2");
@override
Widget build(BuildContext context)
return Scaffold(
appBar: AppBar(
title: new Text(widget.title),
),
body: Container(
),
);
【问题讨论】:
【参考方案1】:要将您的 URL 字符串转换为 Uri
,您只需使用 Uri.parse(url)
。
代码示例
class _MyHomePageState extends State<MyHomePage>
Future<List<User>> _getUsers()
http.get(Uri.parse("http://www.json-generator.com/api/json/get/crbzxbbLIi?indent=2"));
// ...
【讨论】:
【参考方案2】:您必须使用 Uri :
https://flutter.dev/docs/cookbook/networking/fetch-data
Future<http.Response> fetchAlbum()
return http.get(Uri.https(w.json-generator.com/api/json/get/crbzxbbLIi?indent=2"));
【讨论】:
以上是关于我无法将 URL 链接分配给 http.get() [重复]的主要内容,如果未能解决你的问题,请参考以下文章