在 wget 中用 IP 替换服务器地址

在 wget 中用 IP 替换服务器地址

编辑:有人建议这是另一个问题。这对我来说一点也不清楚。
首先,接受的答案提出了 3 个可能的原因(实际上可能是 2 个),其中一个已被 catalin 证实是他的案件。这是否能解答本案的问题仍有待澄清。 我尝试--header "Host:us.archive.ubuntu.com"使用curl,但这没有帮助。我不确定这是否会将“主机标头”问题排除在原因之外。
其次,catalin 表示浏览网站。我的意思是wget从中获取。我不是网络专家,但我猜 catalin 错误的原因可能与我的不同……即使可能相同。
我建议不要关闭此问题,直到我能够理解并实施确认或拒绝这些建议的方法。但有这些指针很有用,我错过了。


我的意思是使用 IP 而不是服务器名称直接访问wget文件。我使用的是 Msys2、Win 10(这就是为什么在这里发帖而不是在 askubuntu 上发帖的原因),但我猜在 Linux 上应该是一样的。

我无法做到这一点。我在下面发布了我尝试的详细信息。我使用类似的失败curl。我写了一篇单独的文章,因为我不确定解释和解决方案是否与这里的相同。

正确的做法是什么?

注意:使用wget ftp://<IP>/...代替 可以wget http://<IP>/...达到良好的效果。


这是我尝试过的:

  1. 获取服务器的 IP 地址
    $ ping us.archive.ubuntu.com
    
    Haciendo ping a us.archive.ubuntu.com [91.189.91.38] con 32 bytes de datos:
    Respuesta desde 91.189.91.38: bytes=32 tiempo=173ms TTL=52
    Respuesta desde 91.189.91.38: bytes=32 tiempo=166ms TTL=52
    Respuesta desde 91.189.91.38: bytes=32 tiempo=172ms TTL=52
    
    Estadísticas de ping para 91.189.91.38:
        Paquetes: enviados = 3, recibidos = 3, perdidos = 0
        (0% perdidos),
    Tiempos aproximados de ida y vuelta en milisegundos:
        Mínimo = 166ms, Máximo = 173ms, Media = 170ms
    Control-C
  1. 尝试wget使用服务器名称访问该文件运行正常
$ wget http://us.archive.ubuntu.com/ubuntu/pool/universe/y/yudit/yudit-common_2.9.6-7_all.deb
--2020-09-21 08:52:23--  http://us.archive.ubuntu.com/ubuntu/pool/universe/y/yudit/yudit-common_2.9.6-7_all.deb
Resolving us.archive.ubuntu.com (us.archive.ubuntu.com)... 91.189.91.39, 91.189.91.38, 2001:67c:1562::15, ...
Connecting to us.archive.ubuntu.com (us.archive.ubuntu.com)|91.189.91.39|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1637644 (1.6M) [application/x-debian-package]
Saving to: ‘yudit-common_2.9.6-7_all.deb’

yudit-common_2.9.6-7_all.deb.1             100%[======================================================================================>]   1.56M  1.20MB/s    in 1.3s

2020-09-21 08:52:25 (1.20 MB/s) - ‘yudit-common_2.9.6-7_all.deb’ saved [1637644/1637644]
  1. 尝试wget使用 IP 地址访问该文件这是行不通的。我还尝试添加标志--no-dns-cache--continue。参考:https://unix.stackexchange.com/questions/243241/wget-command-how-to-download-from-a-specific-ip-address-and-port
$ wget http://91.189.91.39/ubuntu/pool/universe/y/yudit/yudit-common_2.9.6-7_all.deb
--2020-09-21 09:23:25--  http://91.189.91.39/ubuntu/pool/universe/y/yudit/yudit-common_2.9.6-7_all.deb
Connecting to 91.189.91.39:80... connected.
HTTP request sent, awaiting response... 404 Not Foun
2020-09-21 09:23:25 ERROR 404: Not Foun.

相关内容