在Node.js中,我可以这样做:
var http = require('http')
var url = 'mylinkedsite.com'
http.get({ host: url }, function(){...})
在Dart我也在尝试:
import 'dart:io';
import 'dart:uri';
var url = 'mylinkedsite.com';
var client = new HttpClient();
var uri = new Uri.fromString(url);
var connection = client.getUrl(uri);
connection.onResponse = (res){...};
但是如果没有明确添加url.scheme和url.path,我将无法获得相同的结果。两者都是最终的。什么是实现相同结果的最简单方法。
答案 0 :(得分:1)
dart:io中的HttpClient支持字符串作为主机名:
var conn = httpClient.get("http://mylinkedsite.com", 80, "/");
conn.onResponse = (HttpClientResponse response) {
if(response.statusCode != 200) {
// unexpected return code
} else {
// success, parse response
}
};
conn.onError = (e) => completer.completeException(e);
只有其他方法是使用http helper方法来隐藏URI调用,而不是像接口这样的节点。