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("&lt;your url&gt;");。然后做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

Ruby on Rails - 来自 Paypal 的参数:utf-8 中的无效字节序列

Scaleform BitmapData:无效的位图数据

Paypal IPN:UTF-8 中的无效字节序列