gpt4 book ai didi

http - flutter:内容类型必须是 application/json

转载 作者:IT王子 更新时间:2023-10-29 07:11:48 24 4
gpt4 key购买 nike

我在处理 HTTP 发布请求时遇到问题。我收到响应“Content-type must be application/json”,但是我正在设置 header 以指定内容的类型为 json。

const Map<String, String> header = {
'Content-type': 'application/json',
'Accept': 'application/json',
};

static void init() async {
var body =
{
"username": username, // String username defined above
"password": password, // String password defined above
};

var response = await http.post(url, body: json.encode(body), headers: header);
print(response.body);
}

如上所述,我希望它能正常工作并返回有效的 json 响应,但是我收到错误代码 400,并显示消息“Content-type must be application/json”。我不太确定如何解决这个问题,我曾多次使用这种方法来传递 http.Post 请求,并且它一直有效。

最佳答案

对于所有疑惑的人,Richard Heap 在上面的评论中是正确的,深入到基础 HttpClient 解决了这个问题。 (我不确定如何将答案归功于他,如果有人知道请告知,以便我可以这样做)。

下面是我用来使我的代码用于文档目的的代码片段

static void init() async {
HttpClient httpClient = new HttpClient();
HttpClientRequest request = await httpClient.postUrl(Uri.parse(url));
request.headers.set('Content-type', 'application/json');
request.add(utf8.encode(json.encode(rawBody)));
HttpClientResponse response = await request.close();
String reply = await response.transform(utf8.decoder).join();
var jsonReply = json.decode(reply);
httpClient.close();
}

这给了我所需的响应,非常感谢 Richard,作为一个新用户,我从来没有想过要用 flutter。

关于http - flutter:内容类型必须是 application/json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55893376/

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