Saltar al contenido principal

Rust

Configura el proxy y la gestión de certificados para las solicitudes de Rust con reqwest, para que su tráfico HTTP/HTTPS aparezca en Proxyman.

1. Problema​

Proxyman no puede capturar automáticamente el tráfico HTTP/HTTPS de reqwest en Rust porque:

  • reqwest no respeta el HTTP Proxy del sistema -> ningún tráfico pasa por Proxyman
  • reqwest no confía en el Proxyman Certificate autofirmado -> aparece un error de SSL

2. Solución​

  • Configura manualmente el proxy para usar Proxyman en http://localhost:9090
  • Desactiva la verificación de SSL
use anyhow::Result;
use reqwest::Url;

#[tokio::main]
async fn main() -> Result<()> {
let proxy_url = Url::parse("http://localhost:9090")?;
let client = reqwest::Client::builder()
.danger_accept_invalid_certs(true) // trust self-signed certificate
.proxy(reqwest::Proxy::https(proxy_url)?) // Proxy to Proxyman
.build()?;
let response = client.get("https://httpbin.org/get").send().await?;

if response.status().is_success() {
let body = response.text().await?;
println!("Response Text: {}", body);
} else {
println!("Request failed with status: {}", response.status());
}

Ok(())
}
información

Para las apps que ignoran el proxy del sistema, también puedes probar Network Extension (Beta, macOS 26 o posterior). Captura el tráfico sin configurar un proxy en cada app. Para HTTPS, tu cliente de Rust sigue teniendo que confiar en el certificado de Proxyman, o desactivar la verificación como se muestra arriba.