我在防火墙后面运行GroovyV2.4.5,并且我有一个本地cntlm代理。仅供参考,当我在开放网络上使用grab时,它是有效的。
我试着这样运行我的脚本:
groovy -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=3128 -Divy.message.logger.level=3 try_grape_grab.groovy
并在JAVA_OPTS中设置相同的属性,但groovy似乎没有使用它们,我只是看到下载挂起了。
export JAVA_OPTS="-Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=3128"
如果我使用浏览器(带有代理设置),我可以访问grab试图下载的pom,因此web代理也不会阻止对这些文件的访问。
注意-我也用grape命令尝试了同样的方法,但没有成功。
有什么想法吗?
发布于 2019-01-14 22:05:13
andi的评论是关键-我也需要代理HTTPS (哦!)。一旦我更改了运行脚本的方式,它就可以工作了:
groovy -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=3128 -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=3128 -Divy.message.logger.level=3 try_grape_grab.groovy
谢谢Andi!
发布于 2019-01-13 04:46:59
我认为你需要使用@GrabConfig来做这件事。在你的try_grape_grab.groovy中
@Grapes([
@Grab('some:thing:1.0'),
@GrabConfig(systemProperties='httpProxy.host=127.0.0.1,httpProxy.port=3128')
])
...https://stackoverflow.com/questions/54151868
复制相似问题