gpt4 book ai didi

POST 中的 JSON 正文使用 Rust reqwest Crate

转载 作者:行者123 更新时间:2023-12-03 11:43:47 29 4
gpt4 key购买 nike

我正在尝试实现此 curl使用 Rust crate 调用 reqwest :

curl -u [USERNAME]:[PASSWORD] -H "Content-Type: application/json" -d @content.json [WEBSITE]
文件 content.json顾名思义,对 JSON 对象进行编码。
我的代码如下所示:
fn get_response() -> Result<String, Box<dyn Error>> {
let content = std::fs::read_to_string("content.json").unwrap();
let client = reqwest::blocking::Client::new();
client
.post([WEBSITE])
.basic_auth([USERNAME], Some([PASSWORD]))
.json(&content)
.send()?
.text()?
curl命令有效,我在运行 Rust 代码时在响应中收到“格式错误的请求有效负载”错误消息。不幸的是,我无法控制该网站,因此我无法在那里对其进行调试。
我的问题是:我是否在做一些明显错误的事情?如果没有明显问题,我应该尝试哪些选项(例如,附加标题)?
(当然,我已经尝试了一些东西,但没有任何效果)

最佳答案

来自 the documentation for .json() 我们可以看到它需要一个任意的 serde 可序列化类型。这表明它正在做的是从给定值创建 JSON 文本。因此,您正在向服务器发送一个包含 JSON 的 JSON 引用字符串,这可能不是它所期望的。
我没有与 reqwest 一起工作过,但对于带有 JSON 字符串的用例,您将使用 .body()提供字符串和 .header()指定 JSON 内容类型。

关于POST 中的 JSON 正文使用 Rust reqwest Crate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66586522/

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