ArgumentError(无效参数:无效的互联网地址 newsapi.org)
Posted
技术标签:
【中文标题】ArgumentError(无效参数:无效的互联网地址 newsapi.org)【英文标题】:ArgumentError (Invalid argument(s): Invalid internet address newsapi.org) 【发布时间】:2021-11-11 21:24:51 【问题描述】:我有运行时错误“无效的互联网地址”,但 api 工作正常。
发生了异常。 HttpException (HttpException: , uri = https://newsapi.org/v2/top-headlines?country=us&category=business&apiKey=d2c9e9553c4647f3add970ed74a812ee)
class News
List<ArticleModel> news = [];
Future<void> getNews() async
String url;
url = "https://newsapi.org/v2/top-headlines?country=us&category=business&apiKey=d2c9e9553c4647f3add970ed74a812ee";
var response = await http.get(Uri.parse(url));
var jsonData = jsonDecode(response.body);
if (jsonData['status'] == "ok")
jsonData["articles"].forEach((element)
if (element['urlToImage'] != null && element['description'] != null)
ArticleModel articleModel = ArticleModel(
title: element['title'],
author: element['author'],
description: element['description'],
urlToImage: element['urlToImage'],
// publshedAt: DateTime.parse(element['publishedAt']),
content: element["content"],
url: element["url"],
);
news.add(articleModel);
);
【问题讨论】:
试试var url = Uri.parse("<your url>");
。然后做var res = await http.get(url);
@darkstar 那会有什么变化?
查看与此错误相关的 GitHub 问题:github.com/flutter/flutter/issues/83792。这不是您的实现问题,而是 Flutter 中的一个错误。
@ChristopherMoore 当我第一次开始使用 http 模块时,Uri.parse()
方法给了我类似的错误。我把它打开了,它工作了?????????♂️
@darkstar 如果您查看他们的代码,您会发现他们也在使用Uri.parse
。你的提议没有任何改变。请不要进行巫毒编程。
【参考方案1】:
此更改后代码对我有用:
Future<void> getNews() async
var url = Uri.parse('https://newsapi.org/v2/top-headlines?country=eg&apiKey=api');
var response = await http.get(url);
【讨论】:
以上是关于ArgumentError(无效参数:无效的互联网地址 newsapi.org)的主要内容,如果未能解决你的问题,请参考以下文章
actionscript3 ArgumentError:错误 #2015:位图数据无效
jwk = JWT::JWK.import(keyHash) *** ArgumentError 异常:base64 无效
错误:无效参数:在 URI 文件中未指定主机:///null