Applescript скачать файлы с сервера HTTP спорадические результаты - PullRequest
0 голосов
/ 16 сентября 2011

Я написал скрипт, который загружает файлы с Http-сервера, но результаты очень спорадические.Если я запускаю его три раза подряд, он может сработать два раза и один раз с ошибкой или вообще не работать и возвращать разные ошибки.

Вот некоторые из ошибок, которые я получаю:

Ошибка при загрузке целевого URL-адреса (-609) Сценарии URL-доступа получили ошибку: Соединение недопустимо.

Ошибка при загрузке целевого URL-адреса (-31040) Сценарии URL-доступа получилиerror: Произошла ошибка типа -31040.

try
    set theFileURL to "http://ftp2.nflfilmstv.com/filmsint/ftp-inet/Team/110915_game_preview_phi_atl_3200k.mp4" as text

    set TID to AppleScript's text item delimiters
    set AppleScript's text item delimiters to "/"
    set theFile to text item -1 of theFileURL
    set AppleScript's text item delimiters to TID

    set theFilePath to "Macintosh HD:Users:rgilkes:Desktop:" & theFile as text

    tell application "URL Access Scripting" to download theFileURL to file theFilePath with progress
    on error ErrorMessage number ErrorNumber
        display alert "Error with downloading target URL (" & ErrorNumber & ")" message ErrorMessage
end try

Есть ли лучший способ загрузки файлов через AppleScript или у меня плохое кодирование?

1 Ответ

1 голос
/ 16 сентября 2011

Аааа, спасибо за превью! Я изначально филадельфийский и все еще увлекаюсь спортом Филадельфии. Надеюсь, я не помогу поклоннику Соколов. По крайней мере, не на этой неделе! ;)

В любом случае, ваш код выглядит нормально, хотя URLAccessScripting не самый надежный способ загрузки. На самом деле, с версии 10.7 он даже не включен в ОС. Завиток является альтернативой и обычно стабилен. Вы не получите окно прогресса с ним, хотя. Попробуй это. Смотрите, если это более стабильно. Он скажет вам, когда он закончится.

set theFileURL to "http://ftp2.nflfilmstv.com/filmsint/ftp-inet/Team/110915_game_preview_phi_atl_3200k.mp4"

set {TID, AppleScript's text item delimiters} to {AppleScript's text item delimiters, "/"}
set theFile to text item -1 of theFileURL
set AppleScript's text item delimiters to TID

set theFilePath to (path to desktop as text) & theFile

try
    do shell script "curl " & quoted form of theFileURL & " -o " & quoted form of POSIX path of theFilePath
    display dialog "The download is finished!" buttons {"OK"} default button 1 with icon note giving up after 5
on error theError
    display dialog "Error downloading the file:" & return & theFile & return & return & theError buttons {"OK"} default button 1 with icon 0 giving up after 5
end try
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...