如何在Dart / Flutter中获取重定向URL?

时间:2019-07-03 01:42:09

标签: flutter dart

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

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

然后该服务重定向到一些适合我的宽度和高度的特定图像网址。

我可以通过以下方式显示图像:
Image.network(url above)
但我无法访问代码中其他某些确实必要的新重定向URL。有办法吗?

预先感谢

我正在寻找的东西就像

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

2 个答案:

答案 0 :(得分:0)

如果您使用api.unsplash.com而不是源代码,那就更好了。

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

我看到这种情况的唯一方法是制作followRedirects: false,它会以location作为响应标题给您,以便您进行下一个重定向。您必须编写一个循环,直到状态代码从302更改为其他内容为止。

希望这会有所帮助。

答案 1 :(得分:0)

对于我自己的项目,我也无法从Flutter / Dart方面找到任何方法。

但是,我能够在Error in loadWorkbook(file, password = password) : Cannot find <url> … 中找到location。也许可以。

enter image description here