Dear wget maintainers, I tried to connect to IPv6 link local address using both wget 1.20 as well as 1.21.3. I've replaced the address by ... for privacy reasons but since IPv6LL addresses are automatically assigned on modern operating systems you can easily try this at home :)
The correct way to specify an IPv6 link local URL is as follows, %25 being the url-encoded version of the percent sign: $ wget -O- 'http://[fe80::...%25br0]:9090/topology/status' http://[fe80::...%25br0]:9090/topology/status: Invalid IPv6 numeric address. The following (technically invalid but otherwise harmless) method of specifying the zone identifier also isn't accepted by wget - curl does seem to accept it, though: $ wget -O- 'http://[fe80::...%br0]:9090/topology/status' http://[fe80::...%br0]:9090/topology/status: Invalid IPv6 numeric address. Link local addresses need a zone identifier to be valid, otherwise it isn't clear which interface to bind to for sending the request since they're valid only in the local network segment and not routed. As expected, if the zone identifier is omitted, wget fails as follows: $ wget -O- 'http://[fe80::...]:9090/topology/status' --2023-06-28 13:21:45-- http://[fe80::...]:9090/topology/status Connecting to [fe80::...]:9090... failed: Invalid argument. Best regards, Moritz