我需要从 AppleScript 下载一个 .png 文件。问题是我在代理服务器后面,所以当我使用时:
1)卷曲,脚本卡住并且永远不会连接。
set image to "http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png"
set thePath to (path to desktop as Unicode text) & "test.png"
do shell script "curl -f " & image & " -o " & the POSIX path of thePath
2) URL Access Script,脚本也卡住了
set image to "http://upload.wikimedia.org/wikipedia/commons/6/63/Wikipedia-logo.png"
set thePath to (path to desktop as Unicode text) & "test.png"
tell application "URL Access Scripting"
download image to file thePath replacing yes
end tell
我知道有一种方法可以在 curl 中指定代理服务器:
do shell script "curl -x " & HTTPProxy & ":" & HTTPPort & "-f " ...
但我不知道 HTTProxy 和 HTTPort 的值是什么,因为我的系统使用自动代理发现。即使有这些值,我的脚本也只能在我的代理后面和其他代理后面的其他系统中工作。
因此,我想知道是否有办法告诉 curl 或 URL 访问脚本使用系统代理,或者是否有存储这些代理值的系统变量。
提前致谢
解决了
我通过将 HTTPProxy 和 HTTPort 设置为:
set HTTPProxy to (do shell script "networksetup -getwebproxy \"Ethernet\" | grep \"Server:\" | awk -F \": \" '{print $2}'")
set HTTPPort to (do shell script "networksetup -getwebproxy \"Ethernet\" | grep \"Port:\" | awk -F \": \" '{print $2}'")
我不知道是否有更简洁的方法可以做到这一点,但这似乎可行:)