我有一种情况,可以使用curl通过代理服务器使用命令从互联网上下载软件包
curl -x http://<proxy_host>:<proxy_port> --proxy-user <proxy_user>:<proxy_user_password> -L http://rpmfind.net/linux/dag/redhat/el6/en/x86_64/dag/RPMS/<package>.rpm -o <package>.rpm
但是,如果我使用以下命令设置代理:
setenv HTTP_PROXY http://<proxy_user>:<proxy_user_password>@<proxy_host>:<proxy_port>
然后我尝试使用以下命令获取软件包:
curl -O http://rpmfind.net/linux/dag/redhat/el6/en/x86_64/dag/RPMS/package.rpm -o package.rpm
它不起作用,只是很长一段时间后才返回超时。我的目的是向该服务器提供对内部网络外部Internet的访问,而我正在使用curl进行测试。
操作系统是RedHat 6.9,我正在使用的shell是'/ bin / tcsh'。
在这种情况下我在做什么错了?
感谢您的帮助。
答案 0 :(得分:7)
curl仅支持http_proxy
环境变量,用于为环境设置HTTP代理。小写是关键和重要的区别。
出于安全考虑,curl不承认该变量的大写版本:该变量可以由CGI环境中的传入请求设置。