【问题标题】:How to get redirect URL in dart/flutter?如何在 dart/flutter 中获取重定向 URL?
【发布时间】:2019-07-03 01:42:09
【问题描述】:

我正在构建一个显示从 source.unsplash 获取的图像的应用程序。我的请求网址是:

https://source.unsplash.com/random/`$widthx$height`

然后服务重定向到一些特定的图像 url 选择适合我的宽度和高度。

我可以通过以下方式显示图像:
Image.network(url above),
但是对于我的代码的其他一些部分,我无法访问新的重定向 url,这确实是必要的。有没有办法得到它?

提前致谢

我正在寻找的东西就像

Http.Response response = await Http.get(url);
print(response.finalRedirectURL);

【问题讨论】:

  • 您需要提供更多代码
  • 我已经尝试了很多方法来使用 Dart.io、http.dart 和一些来自 pub 的包。但是,我没有找到任何解决方案,所以现在我的代码很简单:Image.network(上面的 url)。
  • 您需要展示更多工作代码。只是粘贴一个网址对那些想帮助你的人没有帮助。
  • 这个问题不需要我的工作代码,即使有一些。

标签: flutter dart


【解决方案1】:

如果你使用 api.unsplash.com 而不是 source 会更好。

如果followRedirects 为真,则无法根据文档获取最终重定向的 URL,因此可能会为此发布一个 github 问题。见:https://pub.dev/documentation/http/latest/http/Response-class.html

我看到这种情况发生的唯一方法是制作followRedirects: false,它将为您提供一个带有location 的响应标头,作为为您提供下一个重定向的键。您必须编写一个循环才能继续运行,直到状态代码从 302 变为其他值。

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    对于我自己的项目,我也无法从颤振/飞镖方面找到任何方法。

    但是,我能够在response.headers 中找到location。也许这可以工作。

    【讨论】:

      猜你喜欢
      • 2011-03-22
      • 1970-01-01
      • 2018-05-02
      • 2016-12-22
      • 1970-01-01
      • 2019-02-23
      • 2020-07-06
      • 2012-08-12
      相关资源
      最近更新 更多