2013-12-11 145 views
1

当我向http://google.com发出http请求时,首先将请求重定向到http://google.com/,然后再转到http://www.google.com/。在使用http Pub包时,有没有办法让我知道请求的历史记录,并获取所有重定向的列表?如果http软件包不支持此功能,是否有其他方式可以在Dart中获取请求的历史记录?使用http包获取请求历史

回答

3

http软件包不提供有关导致响应的重定向数量的信息。其中一个原因是,在浏览器中使用http是长期计划。在浏览器中,它会从dart:html换行HttpRequest,它没有重定向历史记录。

但是dart:io确实提供了有关HttpClientResponse对象中重定向的信息。以下代码显示重定向的数量。

import "dart:io" as io; 

main() { 
    var client = new io.HttpClient(); 
    client.getUrl(Uri.parse("http://www.google.com")) 
     .then((request) => request.close()) 
     .then((response) => print(response.redirects.length)); 
} 

查看HttpClientResponse.redirects了解更多信息。

+0

谢谢,这有帮助。 –