在AIX上下载​​CSV - wget的替代方法?

时间:2017-05-01 15:43:38

标签: csv unix curl wget aix

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

不幸的是,我的服务器没有加载wge​​t,因此使用上面的内容总是失败,而#34;无法加载程序wget"。

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

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

如果您有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行给您带来麻烦,那就删除吧。

答案 1 :(得分:0)

这个很难回答,但我在这个问题上发现了一些事情。

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

但是,据我所知,这对每个人来说都不是一个合适的解决方案。在玩了curl和openssl后,我发现你可以达到与wget相同的效果,但需要更多的工作。

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