当前位置: 首页 > 知识库问答 >
问题:

flutter - 为什么response.data 是 null?

周志文
2023-07-18

使用dart发送请求,打印response.data为null,但状态码为200 OK

const targetUrl = 'https://music.163.com/weapi/personalized/playlist';    final reqData = {      'limit': 30,      'total': true,      'n': 1000,    };final encryptReqData = weapi(reqData);Dio dio = Get.find<Dio>();        await dio            .post(targetUrl,                data: encryptReqData,                options: Options(                  headers: {                    'Content-Type': 'application/x-www-form-urlencoded',                    'User-Agent':                        'Mozilla/5.0 (Linux; U; Android 8.1.0; zh-cn; BLA-AL00 Build/HUAWEIBLA-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/8.9 Mobile Safari/537.36',                  },                ))            .then((response) {          final playlists = [];          print(encryptReqData);          print(response.data);          print(response.statusMessage);          json.decode(response.data).result.forEach((item) {            final playlist = {              'cover_img_url': item.picUrl,              'id': "neplaylist_${item.id}",              'source_url': "https://music.163.com/#/playlist?id=${item.id}",              'title': item.name,            };            playlists.add(playlist);          });          return fn({            'status': 'success',            'data': {              playlists,            },          });        }

使用postwoman以同样的参数发送请求,有数据返回

共有1个答案

葛和志
2023-07-18

别用 .then 试试
直接

Response response = await dio            .post(targetUrl,                data: encryptReqData,                options: Options(                  headers: {                    'Content-Type': 'application/x-www-form-urlencoded',                    'User-Agent':                        'Mozilla/5.0 (Linux; U; Android 8.1.0; zh-cn; BLA-AL00 Build/HUAWEIBLA-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/8.9 Mobile Safari/537.36',                  },                ))result = response.data.toString()print(result)
 类似资料:
  • 我的应用程序在本地主机上运行得非常好,但一旦我部署到Heroku,我就遇到了以下错误: 当我在客户端使用console.log(response.data)时,我收到了这个字符串,而不是带有我的用户信息的res.json: "

  • 根据此MIPS指令参考,有两条指令(

  • Blade是无意间起的一个名字,始于 2015 年 9 月,目的为个人开发者提供一个除 Spring 系列框架的一个选择。 学习 Blade 搭建 Web 程序,只需要 1 小时,如果你是一个Web开发的老手,也许20分钟就够了。 Blade 是什么? 一个高效的 MVC 开发框架 是一个自带WebServer的库 帮助开发者快速构建Web程序 源代码不到 500KB 的开源框架 简洁优雅的 AP

  • Bootstrapping(引导) 是 Netty 中配置程序的过程,当你需要连接客户端或服务器绑定指定端口时需要使用 Bootstrapping。 如前面所述,Bootstrapping 有两种类型,一种是用于客户端的Bootstrap,一种是用于服务端的ServerBootstrap。不管程序使用哪种协议,无论是创建一个客户端还是服务器都需要使用“引导”。 面向连接 vs. 无连接 请记住,这

  • 问题内容: 什么是反射,为什么有用? 我对Java特别感兴趣,但是我认为原理在任何语言中都是相同的。 问题答案: 名称反射用于描述能够检查同一系统(或本身)中的其他代码的代码。 例如,假设您在Java中有一个未知类型的对象,并且想在该对象上调用“ doSomething”方法(如果存在)。除非对象符合已知的接口,否则Java的静态类型化系统并不是真正为支持该类型而设计的,但是使用反射,您的代码可以