THL*_*HLO 8 json http-post rust reqwest
curl我正在尝试使用 Rust crate reqwest来实现此调用:
curl -u [USERNAME]:[PASSWORD] -H "Content-Type: application/json" -d @content.json [WEBSITE]
Run Code Online (Sandbox Code Playgroud)
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()?
Run Code Online (Sandbox Code Playgroud)
虽然该curl命令有效,但运行 Rust 代码时,我在响应中收到“格式错误的请求有效负载”错误消息。不幸的是,我无法控制该网站,因此无法在那里调试它。
我的问题是:我是否做了明显错误的事情?如果没有明显的问题,我应该尝试哪些选项(例如附加标头)?(当然,我已经尝试了一些东西,但没有任何效果)
从文档中.json()我们可以看到它需要任意的 serde 可序列化类型。这表明它正在根据给定值创建JSON 文本。因此,您将包含 JSON 的 JSON 引用字符串发送到服务器,这可能不是它所期望的。
我没有使用过reqwest,但看起来对于使用 JSON 字符串的用例,您将使用它.body()来提供字符串并.header()指定 JSON 内容类型。
| 归档时间: |
|
| 查看次数: |
20469 次 |
| 最近记录: |