algesten / ureq

A simple, safe HTTP client

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

All requests result in a timeout

sigaloid opened this issue · comments

Hi, I've got a really strange transport issue - ureq does not work at all! Every request results in a TransportError of a timeout.

I don't even know where to begin debugging this, I'm on Fedora 38.

#[test]
fn test() {
    ureq::head("https://google.com").call().unwrap();
}
thread 'tests::test' panicked at 'called `Result::unwrap()` on an `Err` value: Transport(Transport { kind: Io, message: None, url: Some(Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("google.com")), port: None, path: "/", query: None, fragment: None }), source: Some(Custom { kind: TimedOut, error: "timed out reading response" }) })', src/tests.rs

I can do whatever debugging is necessary - ureq is my http client of choice 😞

There's absolutely no sign anything is wrong with the system otherwise - curl --head works as expected, internet works, etc.

This also occurs with minreq, but not reqwest, strangely enough. Grateful for any help!

None of those fixed it. Unfortunately I just discovered it's an IPV6 issue!

neveripv6.com and ea.com (both sites that are set to never use ipv6) work just fine. It looks like something in my network stack wants to use IPV6 and everything else falls back to IPV4 when it doesn't work, but not so for ureq/minreq.

I've worked around this by disabling IPV6 on my router (I don't think my FiOS bridge is working, or if it is, it's very sporadic).

This seems related to #535 and more generally related to IPv6 fallback not being implemented.