我正在使用代理,除了 cURL 之外没有任何问题。
任何时候我尝试做:
curl -L http://link.to.something
我收到:
curl: (5) Couldn't resolve proxy 'http'
尽管如此:
curl --proxy http://myproxy.com:8080 -L http://link.to.something
效果会很好。
--proxy
每次都不写,有什么解决办法吗?
答案1
来自 man curl:
-x, --proxy <[protocol://][user@password]proxyhost[:port]>
Use the specified HTTP proxy.
If the port number is not specified, it is assumed at port 1080.
对于一般用途,声明 http/https 的环境变量
export http_proxy=http://your.proxy.server:port/
export https_proxy=$http_proxy
- 编辑 /etc/bash.bashrc 在文件末尾添加:
export http_proxy=http://username:[email protected]:port/ export https_proxy=$http_proxy export ftp_proxy=http://username:[email protected]:port/
- 或代理没有用户名和密码的情况-:
export http_proxy=http://proxyserver.com:port/ export https_proxy=$http_proxy export ftp_proxy=http://proxyserver.com:port/
答案2
实际情况是,您设置了一个 http_proxy 环境变量。默认情况下,curl 会首先尝试使用该变量。您的 http_proxy 显然也无效。要查看那里的内容,请键入:
echo $http_proxy
您需要检查您设置 http_proxy 的位置并修复它,以使其指向正确的位置。
另一个答案比我的更完整:)