Coding 的痕迹

一位互联网奔跑者的网上日记

0%

Actix-web::Client (awc) 连接超时

借一个 Actix-web::Client 官方的例子,可以这样发送一个 HTTP 请求:

1
2
3
4
5
6
7
8
9
10
11
12
13
use actix_web::client::Client;

#[actix_rt::main]
async fn main() {
let mut client = Client::default();

// Create request builder and send request
let response = client.get("http://sunnysab.cn")
.send().await.unwrap();

println!("{:?}", response);

}

但是无论如何程序运行都会返回一个错误:

1
Err(Connect(Timeout))

用 Wireshark 抓包也没有抓到程序发送了相关的包。

后来在官方 Github 项目上找到了相关的 issue:

https://github.com/actix/actix-web/issues/1047

推测可能是 actix-web 依赖的 dns 库,用未连接的网卡进行了DNS请求(UDP绑定网卡时随便选了一个)。把多余网卡禁用就好了。

欢迎关注我的其它发布渠道