9个稳定版本
1.2.5 | 2022年2月19日 |
---|---|
1.2.4 | 2021年12月27日 |
1.2.3 | 2021年10月16日 |
1.2.2 | 2021年8月28日 |
1.1.0 | 2021年1月17日 |
#4 in #client-connect
7,963 每月下载量
用于 13 个crate (10个直接使用)
20KB
268 行
async-http-proxy
async-http-proxy
是一个轻量级异步HTTP代理客户端库,可用于通过HTTP Connect代理连接到TCP端口。它可以使用 Tokio 和 async-std 作为异步运行时。
示例
以下示例展示了如何通过Connect代理(tokio
)连接到 github.com
use async_http_proxy::http_connect_tokio;
use std::error::Error;
use tokio::net::TcpStream;
// Features "runtime-tokio" have to be activated
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
let mut stream = TcpStream::connect("127.0.0.1:8080").await?;
http_connect_tokio(&mut stream, "example.org", 443).await?;
// stream is now connect to github.com
Ok(())
}
以下示例展示了如何通过Connect代理(async-std
)使用基本认证连接到 example.org
use async_http_proxy::http_connect_async_std_with_basic_auth;
use async_std::net::TcpStream;
use async_std::task;
use std::error::Error;
// Features "async-std-tokio" and "basic-auth" have to be activated
fn main() -> Result<(), Box<dyn Error>> {
task::block_on(async {
let mut stream = TcpStream::connect("127.0.0.1:8080").await?;
http_connect_async_std_with_basic_auth(
&mut stream,
"example.org",
443,
"username",
"password",
)
.await?;
// stream is now connect to github.com
Ok(())
})
}
特性
- HTTP
CONNECT
- 基本认证
- Tokio
- async-std
许可证
本项目受BSD-3-Clause许可证的许可。
贡献
您提交的任何有意包含在 async_http_proxy
中的贡献,均应按 BSD-3-Clause 许可,不附加任何额外的条款或条件。
依赖关系
~0.4–12MB
~128K SLoC