【问题标题】:Downloading CSV on AIX - Alternatives to wget?在 AIX 上下载 CSV - wget 的替代品?
【发布时间】:2017-05-01 15:43:37
【问题描述】:

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

不幸的是,wget 没有为我的服务器加载,因此使用上述方法总是失败,并显示“无法加载程序 wget”。

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

感谢您的帮助!

【问题讨论】:

  • 网站是否需要 SS/TLS/HTTPS?
  • 它需要 HTTPS - 是的
  • 那么,你不能使用telnet。
  • 如果您在 AIX 上有 GNU 工具链,那么我会尝试将其安装到我的本地用户目录 ./configure --prefix ~/local
  • curl 也许???

标签: csv unix curl wget aix


【解决方案1】:

如果您有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 中手动输入回车。这通常是 ^V^M (Ctrl + V 然后 Ctrl + M)

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

如果 User-Agent 行给您带来麻烦,那么只需将其删除。

【讨论】:

  • 我确实有 ssl,所以这可能有效。不幸的是,下一个问题是我在一个私有网络上——我试图访问的域也是如此,所以看起来 ssl 需要一个 IP。我会看看我是否可以收集并让你知道这是否有效:) 谢谢!
  • 那么然后使用-connect中的IP
【解决方案2】:

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

在使用 wget 时,由于软件包不可用,我无法这样做。虽然我能够联系我的 UNIX 管理员并安装它以供使用,这几乎解决了这个问题。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    • 2011-06-21
    • 2020-06-03
    • 1970-01-01
    • 2020-05-25
    • 2015-03-06
    • 2021-05-18
    相关资源
    最近更新 更多