flutter Dio发送post请求

一,导包

python 复制代码
dependencies:
  flutter:
    sdk: flutter
  dio: ^4.0.6

二,请求、解析、刷新渲染

Dart 复制代码
import 'dart:convert';

import 'package:dio/dio.dart';
import 'package:flutter/material.dart';

main() {
  runApp(const MaterialApp(
    home: H(),
  ));
}

class H extends StatefulWidget {
  const H({super.key});

  @override
  State<H> createState() => _HState();
}

class _HState extends State<H> {
  String _resStr = "";

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: const Text("抓包测试"),
        ),
        body: Center(
          child: Text(
            _resStr,
            style: const TextStyle(fontSize: 30),
          ),
        ),
        floatingActionButton:
            FloatingActionButton(onPressed: _postRequestFunction));
  }

  void _postRequestFunction() async {
    Dio dio = Dio();
    FormData formData = FormData.fromMap({"sourceText": "Who are you?"});
    String url = "https://api.oioweb.cn/api/txt/QQFanyi";
    Response response = await dio.post(url, data: formData);
    setState(() {
      _resStr =
          json.decode(response.toString())["result"]["targetText"].toString();
    });
  }
}

三,效果

点击按钮,屏幕中心出现对应的翻译结果

相关推荐
旧时光_7 小时前
第4章:布局类组件 —— 4.8 LayoutBuilder、AfterLayout
flutter
A懿轩A7 小时前
Flutter:跨平台开发终极指南
flutter
肠胃炎12 小时前
Flutter 基础组件
前端·flutter
木易士心12 小时前
Flutter 网络请求深度解析
flutter
消失的旧时光-194313 小时前
Flutter Scaffold 全面解析:打造页面骨架的最佳实践(附场景示例 + 踩坑分享)
前端·flutter
Q6882388615 小时前
三菱Q系列PLC大型自动化生产线程序案例分享
flutter
消失的旧时光-194315 小时前
Flutter 布局入门
flutter
天天开发1 天前
Flutter每日库: image_picker选取相册图片视频
flutter
消失的旧时光-19431 天前
Flutter 组件:StatelessWidget vs StatefulWidget
flutter