The HTTP test is more complex than it needs to be.
skx opened this issue · comments
Steve Kemp commented
Unlike all other tests the HTTP-test performs its own DNS-resolution, this is because we actually always test against IP address rather than hostnames.
So the code to process jobs has to lookup the targets and enqueue a test for each discovered IPv4/IPv6 address. However resolving "http://example.com" fails, so I chose to make the code special-case the HTTP test.
Instead we should look to see if the target is a URI, and if so lookup against the hostname. That would also allow:
ftp://ftp.example.com/ must run ftp
Instead of just:
ftp.example.com must run ftp