gpt4 book ai didi

dart - Dart:在服务器端获取POST参数

转载 作者:行者123 更新时间:2023-12-03 04:05:33 24 4
gpt4 key购买 nike

我使用POST请求从客户端发送一些数据

var value = new Map<String, String>();
value["param1"] = 'value1';
value["param2"] = 'value2';
value["param3"] = 'value3';

HttpRequest.postFormData('http://localhost:8080/', value);

并尝试在服务器端获取此数据:
HttpServer.bind(InternetAddress.ANY_IP_V6, 8080).then((server) {
server.listen((HttpRequest request) {
//TODO: process POST request
});
});

但是,如何从请求中获取Map 的POST值?

更新了1

但是我看到的结果
var jsonString = await request.transform(UTF8.decoder).join();

取决于发布消息的类型。如果我改变它的结果将是

多部分/表单数据
------WebKitFormBoundaryoQQD7N0iA5zS8qmg
Content-Disposition: form-data; name="param1"

value 1
------WebKitFormBoundaryoQQD7N0iA5zS8qmg
Content-Disposition: form-data; name="param2"

value 2
------WebKitFormBoundaryoQQD7N0iA5zS8qmg
Content-Disposition: form-data; name="param3"

value 3
------WebKitFormBoundaryoQQD7N0iA5zS8qmg--

文本/纯文字
param1=value 1
param2=value 2
param3=value 3

应用程序/ x-www-form-urlencoded
param1=value+1&param2=value+2&param3=value+3

正如我已经问过的,如何将其转换为Map

最佳答案

这是完整的教程https://www.dartlang.org/docs/tutorials/httpserver/#handling-post

String jsonString = await request.transform(UTF8.decoder).join();

要么
Map result = await request.transform(UTF8.decoder).join().then(JSON.decode);

关于dart - Dart:在服务器端获取POST参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33870676/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com