通过代理使用AppleScript下载文件

时间:2012-05-18 14:03:34

标签: proxy download applescript

我需要从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访问脚本,脚本也卡住了

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 Access Scripting使用系统代理,或者是否存在存储这些代理值的系统变量。

提前致谢

解决

通过将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}'")

我不知道是否有更简洁的方法来做到这一点,但这似乎有效:)

1 个答案:

答案 0 :(得分:0)

通过将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}'")

我不知道是否有更简洁的方法来做到这一点,但这似乎有效:)