Dart:
发送HTTP请求

如何操作:

Dart 包括 http 包,这是一个强大且方便的方式来处理 HTTP 资源。首先,在你的 pubspec.yaml 文件中包含它:

dependencies:
  http: ^0.13.3

然后,在你的 Dart 代码中导入它,开始发起请求:

import 'package:http/http.dart' as http;

void main() async {
  var url = Uri.parse('https://jsonplaceholder.typicode.com/todos/1');
  var response = await http.get(url);

  if (response.statusCode == 200) {
    print('响应体:${response.body}');
  } else {
    print('请求失败,状态码为:${response.statusCode}。');
  }
}

成功请求的示例输出可能如下所示:

响应体:{
  "userId": 1,
  "id": 1,
  "title": "delectus aut autem",
  "completed": false
}

对于更复杂的请求,比如带有 JSON 主体的 POST 请求,你可以这样做:

import 'dart:convert';
import 'package:http/http.dart' as http;

void main() async {
  var url = Uri.parse('https://jsonplaceholder.typicode.com/posts');
  var response = await http.post(
    url,
    headers: {"Content-Type": "application/json"},
    body: jsonEncode({
      "title": 'foo',
      "body": 'bar',
      "userId": 1,
    }),
  );

  if (response.statusCode == 201) {
    print('响应状态:${response.statusCode}');
    print('响应体:${response.body}');
  } else {
    print('创建新帖子失败。状态:${response.statusCode}');
  }
}

POST 请求的示例输出可能是:

响应状态:201
响应体:{
  "title": "foo",
  "body": "bar",
  "userId": 1,
  "id": 101
}

这些示例展示了使用 Dart 中的 http 包发出基本 HTTP GET 和 POST 请求。此包涵盖了发送 HTTP 请求的大多数需求,包括带有头部和主体内容的更复杂场景。