我需要通过HTML链接下载csv文件(例如www.abc.com/test.csv),但我无法在使用wget的AIX风格的UNIX服务器上执行此操作。在AIX上下载CSV - wget的替代方法?
不幸的是wget没有加载到我的服务器,因此使用上述总是失败,“无法加载程序wget”。
有没有其他方法可以尝试?我知道我可以简单地尝试在服务器上安装wget,但作为用户,它不是由我管理的,我也没有权限这样做。
感谢您的帮助!
我需要通过HTML链接下载csv文件(例如www.abc.com/test.csv),但我无法在使用wget的AIX风格的UNIX服务器上执行此操作。在AIX上下载CSV - wget的替代方法?
不幸的是wget没有加载到我的服务器,因此使用上述总是失败,“无法加载程序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中手动输入一个回车符。这通常是^V^M
(按Ctrl +V然后按Ctrl +中号)
我没有AIX服务器上测试这一点,所以在你自己的风险。
如果用户代理行给您带来麻烦,那么就删除它。
我确实有ssl,所以这可能工作。不幸的是,下一个问题是我在一个专用网络上 - 我试图访问的域也是这样,所以看起来像ssl将需要一个IP。 我会看看如果我能收集并让你知道这是否有效:) 谢谢! –
然后在'-connect'中使用IP – ashawley
这是一个很难回答,但有一些事情,我发现在这个问题上。
当涉及到使用wget我无法这样做,因为该包不可用。尽管我可以联系我的UNIX管理员并安装使用,这几乎可以解决问题。
但是,我知道这不会是适合每个人的合适解决方案。在玩过curl和openssl之后,我发现你可以像wget一样实现,但是需要更多的工作。
我唯一遇到的问题是我无法连接到实际的主机 - 保持连接被拒绝,但这很可能是由于我的防火墙问题。
网站是否需要SS/TLS/HTTPS? – ashawley
它需要HTTPS - 是的 –
那么,你不能使用telnet,然后。 – ashawley