0

我需要从 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}'")

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

4

1 回答 1

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

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

于 2012-06-07T09:53:26.713 回答