在 AIX 上下载 CSV - wget 的替代品?

Downloading CSV on AIX - Alternatives to wget?

我需要通过 HTML link(例如 www.abc.com/test.csv)下载一个 csv 文件,但我无法在我的 AIX 上这样做使用 wget 的风味 UNIX 服务器。

不幸的是,我的服务器没有加载 wget,因此使用上面的总是失败 "Could not load program wget"。

有没有我可以尝试的替代方案?我知道我可以简单地尝试在服务器上安装 wget,但作为用户,它不是由我管理的,我将没有这样做的权限。

感谢您的帮助!

如果您有 openssl,那么您可以使用它进行连接

$ ( echo "GET /test.csv HTTP/1.1";
    echo "Host: www.abc.com";
    echo "User-Agent: $(openssl version) / $(bash --version | head -n 1) ";
    echo "Connection: close";
    echo; echo;
    sleep 1 ) | openssl s_client -connect 172.16.254.1:443

然后,如果您想尝试使用 sed 稍微提取文件,您可以:

( echo "GET /test.csv HTTP/1.1";
  echo "Host: www.abc.com";
  echo "User-Agent: $(openssl version) / $(bash --version | head -n 1) ";
  echo "Connection: close";
  echo; echo;
  sleep 1 ) | openssl s_client -connect 172.16.254.1:443 \
            | sed -ne '/^HTTP\/1.1/,$p' \
            | sed -ne '/^\r$/,$p' \
            | sed 1,2d > test.csv

如果\r不起作用,那么您需要在shell中手动输入回车return。这通常是 ^V^M (Ctrl + V 然后 Ctrl + M)

我没有在 AIX 服务器上对此进行测试,因此使用风险自负。

如果 User-Agent 行给您带来麻烦,请将其删除。

这个问题很难回答,但我在这个问题上发现了几件事。

当谈到使用 wget 时,由于没有可用的包,我无法这样做。虽然我能够联系我的 UNIX 管理员并安装它以供使用,但几乎解决了问题。

但是,我知道这不是适合所有人的解决方案。在玩过 curl 和 openssl 之后,我发现您可以实现与 wget 相同的效果,但需要做更多的工作。

我遇到的唯一问题是我无法连接到实际主机 - 不断收到连接拒绝,但这可能是由于我这边的防火墙问题。