这个错误提示是因为 RequestBuilder 结构体没有名为 json 的方法。这通常是因为没有将 reqwest 库的相关特性导入到当前作用域中。可以在代码开头添加 use reqwest::header;use reqwest::blocking::Client; 语句来导入 reqwest 库的相关特性。同时,还需要将 serde_json 库的相关特性导入到当前作用域中。可以添加 use serde_json::json; 语句来导入。

use reqwest::header;
use reqwest::blocking::Client;
use std::io::{self, Write};
use serde_json;
use crate::serde_json::json;
// use serde_json::json;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let prompt = read_input('Please enter prompt')?;  

    let client = Client::new();
    let res = client.post('https://free-api.cveoy.com/v3/completions')
        .header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36')
        .header('referer', 'https//www.covery.com/')
            .header('sec-ch-ua', 'sec-ch-ua')
            .json(&json!({'prompt': prompt}))
            .send()?;  

    println!('{}', res.text()?);  
    Ok(())
}

fn read_input(msg: &str) -> io::Result<String> {
    print!('{}', msg);
    io::stdout().flush()?;  
    let mut input = String::new();
    io::stdin().read_line(&mut input)?;  
    Ok(input.trim().to_owned())
}

代码中使用 reqwest 库的 Client 结构体来发送 POST 请求,并使用 json 方法将请求体设置为 JSON 格式。同时,还使用了 serde_json 库的 json!宏来生成 JSON 数据结构。

注意:

  • 请确保已安装 reqwestserde_json 库。
  • API 地址和参数需要根据实际情况修改。
  • 响应数据需要根据 API 文档进行解析。
Rust 使用 reqwest 库发送 POST 请求到 API 接口

原文地址: https://www.cveoy.top/t/topic/lBzu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录