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();
    });
  }
}

三,效果

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

相关推荐
蓝胖子不是胖子3 小时前
flutter基础 --dart语法学习
学习·flutter
面壁思过程3 小时前
Flutter 优化技巧分享
flutter
AiFlutter3 小时前
Flutter局域网广播(UDP通信)与TCP通信
tcp/ip·flutter·udp
AiFlutter1 天前
Flutter 获取手机连接的Wifi信息
flutter
LinXunFeng1 天前
Flutter - 轻松搞定炫酷视差(Parallax)效果
前端·flutter·开源
刘志辉2 天前
vue传参方法
android·vue.js·flutter
去伪存真2 天前
聊聊Flutter与原生平台通信方式(一)
前端·flutter
Python私教2 天前
macOS 中搭建 Flutter 开发环境
flutter·macos
明似水2 天前
掌握 Flutter 中的 `Overlay` 和 `OverlayEntry`:弹窗管理的艺术
javascript·flutter