2016-07-13 3 views
0

У меня есть этот скрипт, который должен идти в текстовый файл по строкам, и если есть URL-адрес в каждой строке, он должен открыть его на отдельных вкладках в сафари , проверяя работы, но он не вводит, когда я использую CURL, любая помощь, пожалуйста?Проверка правильности URL-адреса в Applescript не работает

set myDelay to 0.2 
set errorLog to {} 
set urlText to read POSIX file "/USERS/KAMEL/transfer.txt" as «class utf8» 
set urlList to paragraphs of urlText 
repeat with aUrl in urlList 
set aUrl to contents of aUrl 
    if aUrl ≠ "" then 
    try 
     do shell script "curl " & aUrl 
      tell application "Safari" to open location aUrl 
      -- open location aUrl 
      delay myDelay 
      on error 
      set end of errorLog to aUrl 
     exit repeat 
    end try 
    end if 
end repeat 

ответ

0

Safari имеет специальный API для создания новых вкладок.

Попробуйте это, он использует локон, чтобы вернуть код состояния HTTP

set urlText to read file ((path to home folder as text) & "transfer.txt") as «class utf8» 
set urlList to paragraphs of urlText 
set errorLog to {} 
tell application "Safari" to if (count documents) is 0 then make new document 
repeat with aUrl in urlList 
    set theScript to "curl -o /dev/null -s -I -w '%{http_code}' " & aUrl 
    try 
     set theStatus to (do shell script theScript) as integer 
     if theStatus < 400 then 
      tell application "Safari" 
       tell window 1 to make new tab with properties {URL:aUrl} 
      end tell 
     end if 
    on error e 
     set end of errorLog to (e & space & aUrl) 
    end try 
end repeat 
Смежные вопросы