1

在 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 ,我将无法获得相同的结果。两者都是最终的。实现相同结果的最简单方法是什么。

4

1 回答 1

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 调用隐藏在更像节点的接口后面。

于 2012-11-06T05:17:25.767 回答