我需要通过HTML链接(例如www.abc.com/test.csv)下载csv文件,但我无法在使用wget的AIX风格的UNIX服务器上执行此操作。
不幸的是,我的服务器没有加载wget,因此使用上面的内容总是失败,而#34;无法加载程序wget"。
我可以尝试其他替代方案吗?我知道我可以简单地尝试在服务器上安装wget,但作为用户,它不是由我管理的,我没有权限这样做。
感谢您的帮助!
答案 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相同的效果,但需要更多的工作。
我居住的唯一问题是我无法连接到实际的主机 - 继续拒绝连接,但这可能是由于我的防火墙问题。