以下是一个简单的示例代码,用于发送POST请求并自定义header,请求发送JSON数据:

use reqwest::header::{HeaderMap, HeaderValue, CONTENT_TYPE};
use serde_json::json;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // 构造请求的URL和JSON数据
    let url = "https://example.com/api";
    let json_data = json!({
        "username": "foo",
        "password": "bar"
    });

    // 构造请求头
    let mut headers = HeaderMap::new();
    headers.insert(
        CONTENT_TYPE,
        HeaderValue::from_static("application/json"),
    );
    headers.insert(
        "Authorization",
        HeaderValue::from_static("Bearer YOUR_ACCESS_TOKEN"),
    );

    // 发送POST请求
    let client = reqwest::Client::new();
    let resp = client
        .post(url)
        .headers(headers)
        .json(&json_data)
        .send()
        .await?;

    // 处理响应
    let status = resp.status();
    let body = resp.text().await?;
    println!("Response status: {}", status);
    println!("Response body: {}", body);

    Ok(())
}

在这个例子中,我们使用了reqwest库来发送HTTP请求,并使用serde_json库来构造JSON数据。首先,我们构造了请求的URL和JSON数据。然后,我们创建了一个HeaderMap对象来存储请求头,并将Content-Type设置为application/json,并添加了一个自定义的Authorization头,用于身份验证。最后,我们使用client.post(url)方法创建一个POST请求对象,并使用.headers(headers)方法将请求头添加到请求中。我们还使用.json(&json_data)方法将JSON数据添加到请求正文中。最后,我们使用.send().await?方法来发送请求并等待响应。我们可以使用resp.status()方法获取响应状态码,使用resp.text().await?方法获取响应正文并打印它。

rust代码发送post 请求然后自定义header 怎么写 请求发送json

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

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