0
我需要從AppleScript下載.png文件。問題是我在 的代理服務器後面,所以當我使用時:通過代理使用AppleScript下載文件
1)curl,腳本卡住,從不連接。
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
我知道有在捲曲指定代理服務器的方式:
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}'")
我不知道是否有一個更合適的方法要做到這一點,但這似乎工作:)
歡迎。如果你找到自己問題的解決方案,那麼接受的程序就是將它作爲答案發布,並接受它(如果沒有其他更好的方法,至少沒有更好的答案)。這不僅完全可以做,它有助於保持網站整潔,因爲您的問題將被歸檔爲「已回答」 - 現在,它被視爲「開放」。 – kopischke