NSURLSession

[NSURLSession] URLのContent-Type MIMETypeの取得


AppleScript サンプルコード

【スクリプトエディタで開く】 |

AppleScript サンプルソース(参考)
行番号ソース
001#!/usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003#
004# com.cocolog-nifty.quicktimer.icefloe
005----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
006use AppleScript version "2.8"
007use framework "Foundation"
008use framework "AppKit"
009use framework "UniformTypeIdentifiers"
010use scripting additions
011property refMe : a reference to current application
012
013
014################################
015#ダウンロードURL
016set ocidURLComponents to refMe's NSURLComponents's alloc()'s init()
017ocidURLComponents's setScheme:("https")
018###ホストを追加
019ocidURLComponents's setHost:("go.microsoft.com")
020###パスを追加
021ocidURLComponents's setPath:("/fwlink/")
022##クエリー部
023set ocidQueryItems to refMe's NSMutableArray's alloc()'s initWithCapacity:(0)
024ocidQueryItems's addObject:(refMe's NSURLQueryItem's alloc()'s initWithName:("linkid") value:("2093504"))
025##クエリーをセットする
026ocidURLComponents's setQueryItems:(ocidQueryItems)
027##URLに戻して テキストにしておく
028set ocidOpenURL to ocidURLComponents's |URL|()
029set strURL to ocidOpenURL's absoluteString() as text
030log strURL
031##URLに戻して テキストにしておく
032set ocidURL to ocidURLComponents's |URL|()
033
034################################
035#
036#リクエスト
037set appRequest to refMe's NSMutableURLRequest's requestWithURL:(ocidURL)
038#初期設定
039set ocidConf to (refMe's NSURLSessionConfiguration's defaultSessionConfiguration)
040#キュー
041set appQueue to (refMe's NSOperationQueue's mainQueue)
042#セッション
043set appSession to refMe's NSURLSession's sessionWithConfiguration:(ocidConf) delegate:("self") delegateQueue:(appQueue)
044#タスク
045set appTask to appSession's dataTaskWithRequest:(appRequest)
046#set appTask to appSession's dataTaskWithURL:(ocidURL) completionHandler:(missing value)
047#タスク 開始
048appTask's resume()
049#最大5秒のループ
050repeat 5 times
051  #タスクのステータス取得
052  set ocidStatue to appTask's state()
053  log ocidStatue as text
054  #実行中なら
055  if ocidStatue = (refMe's NSURLSessionTaskStateRunning as integer) then
056    #レスポンスの内容を取得して
057    set ocidResponse to appTask's response()
058    #まだ取得できない状態なら
059    if ocidResponse = (missing value) then
060      #1秒待つ
061      delay 1
062    else
063      try
064        #クラスを確認(なければここでエラーになる)
065        log (ocidResponse's isKindOfClass:(refMe's NSHTTPURLResponse's |class|))
066        #リダイレクトされたURLを取得して
067        set ocidRedirectURL to ocidResponse's |URL|
068        exit repeat
069      on error
070        delay 1
071      end try
072    end if
073  end if
074end repeat
075#タスクをキャンセル終了する
076appTask's cancel()
077#戻り値
078log ocidRedirectURL's absoluteString() as text
079#レスポンスが取得できたら
080set ocidHeaderDict to ocidResponse's allHeaderFields()
081#AllKeys
082set ocidAllKeysArray to ocidHeaderDict's allKeys()
083#ヘッダーの内容を順番に表示
084repeat with itemKey in ocidAllKeysArray
085  log (itemKey as text) & ": " & ((ocidHeaderDict's valueForKey:(itemKey)) as text) & "\r" as text
086end repeat
087#ヘッダーから取得したコンテンツタイプ
088log (ocidHeaderDict's valueForKey:("Content-Type")) as text
089#MIMEから取得したコンテンツタイプ
090log ocidResponse's MIMEType() as text
091
AppleScriptで生成しました

|

[NSURLSession] NSURLSessionTaskState


AppleScript サンプルコード

【スクリプトエディタで開く】 |

AppleScript サンプルソース(参考)
行番号ソース
001#!/usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003#
004# com.cocolog-nifty.quicktimer.icefloe
005----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
006use AppleScript version "2.8"
007use framework "Foundation"
008use framework "AppKit"
009use scripting additions
010property refMe : a reference to current application
011
012
013log refMe's NSURLSessionTaskStateRunning as integer
014-->(*0*)
015log refMe's NSURLSessionTaskStateSuspended as integer
016-->(*1*)
017log refMe's NSURLSessionTaskStateCanceling as integer
018-->(*2*)
019log refMe's NSURLSessionTaskStateCompleted as integer
020-->(*3*)
AppleScriptで生成しました

|

[NSURLSession]リダイレクト先のURLの取得


AppleScript サンプルコード

【スクリプトエディタで開く】 |

AppleScript サンプルソース(参考)
行番号ソース
001#!/usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003#
004# com.cocolog-nifty.quicktimer.icefloe
005----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
006use AppleScript version "2.8"
007use framework "Foundation"
008use framework "AppKit"
009use framework "UniformTypeIdentifiers"
010use scripting additions
011property refMe : a reference to current application
012
013
014################################
015#ダウンロードURL
016set ocidURLComponents to refMe's NSURLComponents's alloc()'s init()
017ocidURLComponents's setScheme:("https")
018###ホストを追加
019ocidURLComponents's setHost:("go.microsoft.com")
020###パスを追加
021ocidURLComponents's setPath:("/fwlink/")
022##クエリー部
023set ocidQueryItems to refMe's NSMutableArray's alloc()'s initWithCapacity:(0)
024ocidQueryItems's addObject:(refMe's NSURLQueryItem's alloc()'s initWithName:("linkid") value:("2093504"))
025##クエリーをセットする
026ocidURLComponents's setQueryItems:(ocidQueryItems)
027##URLに戻して テキストにしておく
028set ocidOpenURL to ocidURLComponents's |URL|()
029set strURL to ocidOpenURL's absoluteString() as text
030log strURL
031##URLに戻して テキストにしておく
032set ocidURL to ocidURLComponents's |URL|()
033
034################################
035#
036#リクエスト
037set appRequest to refMe's NSMutableURLRequest's requestWithURL:(ocidURL)
038#初期設定
039set ocidConf to (refMe's NSURLSessionConfiguration's defaultSessionConfiguration)
040#キュー
041set appQueue to (refMe's NSOperationQueue's mainQueue)
042#セッション
043set appSession to refMe's NSURLSession's sessionWithConfiguration:(ocidConf) delegate:("self") delegateQueue:(appQueue)
044#タスク
045#set appTask to appSession's dataTaskWithRequest:(appRequest)
046set appTask to appSession's dataTaskWithURL:(ocidURL) completionHandler:(missing value)
047#タスク 開始
048appTask's resume()
049#最大5秒のループ
050repeat 5 times
051  #タスクのステータス取得
052  set ocidStatue to appTask's state()
053  log ocidStatue as text
054  #実行中なら
055  if ocidStatue = (refMe's NSURLSessionTaskStateRunning as integer) then
056    #レスポンスの内容を取得して
057    set ocidResponse to appTask's response()
058    #まだ取得できない状態なら
059    if ocidResponse = (missing value) then
060      #1秒待つ
061      delay 1
062    else
063      #レスポンスが取得できたら
064      log ocidResponse's statusCode()
065      #クラスを確認(なければここでエラーになる)
066      log (ocidResponse's isKindOfClass:(refMe's NSHTTPURLResponse's |class|))
067      #リダイレクトされたURLを取得して
068      set ocidRedirectURL to ocidResponse's |URL|
069      exit repeat
070    end if
071  end if
072end repeat
073#タスクをキャンセル終了する
074appTask's cancel()
075#戻り値
076log ocidRedirectURL's absoluteString() as text
077
078
079
AppleScriptで生成しました

|

その他のカテゴリー

Accessibility Acrobat Acrobat 2020 Acrobat AddOn Acrobat Annotation Acrobat ARMDC Acrobat AV2 Acrobat BookMark Acrobat Classic Acrobat DC Acrobat Dialog Acrobat Distiller Acrobat Form Acrobat JS Acrobat Manifest Acrobat Menu Acrobat Open Acrobat Plugin Acrobat Preferences Acrobat Preflight Acrobat python Acrobat Reader Acrobat SCA Acrobat SCA Updater Acrobat Sequ Acrobat Sign Acrobat Stamps Acrobat Watermark Acrobat Windows Acrobat Windows Reader Admin Admin Account Admin Apachectl Admin configCode Admin Device Management Admin LaunchServices Admin Locationd Admin loginitem Admin Maintenance Admin Mobileconfig Admin Permission Admin Pkg Admin Power Management Admin Printer Admin SetUp Admin SMB Admin Support Admin System Information Admin Tools Admin Users Admin Volumes Adobe Adobe FDKO Adobe RemoteUpdateManager AppKit Apple AppleScript AppleScript do shell script AppleScript List AppleScript ObjC AppleScript Osax AppleScript PDF AppleScript Pictures AppleScript record AppleScript Script Editor AppleScript Script Menu AppleScript Shortcuts AppleScript Shortcuts Events AppleScript System Events AppleScript System Events Plist AppleScript Video Applications AppStore Archive Attributes Automator BackUp Barcode Barcode QR Barcode QR Decode Bash Basic Basic Path Bluetooth BOX Browser Calendar CD/DVD Choose Chrome CIImage CityCode CloudStorage Color com.apple.LaunchServices.OpenWith Console Contacts CotEditor CURL current application Date&Time delimiters Desktop Device Diff Disk Dock DropBox Droplet eMail Encode % Encode Decode Encode UTF8 Error EXIFData ffmpeg File Finder Firefox Folder FolderAction Fonts GIF github Guide HTML HTML Entity Icon Illustrator Image Events Image2PDF ImageOptim iPhone iWork Javascript Jedit Json Label Leading Zero List locationd LRC lsappinfo LSSharedFileList m3u8 Mail MakePDF Map Math Media Media AVAsset Media AVconvert Media AVFoundation Media AVURLAsset Media Movie Media Music Memo Messages Microsoft Microsoft Edge Microsoft Excel Mouse Music NetWork Notes NSArray NSArray Sort NSBezierPath NSBitmapImageRep NSBundle NSCFBoolean NSCharacterSet NSColor NSColorList NSData NSDecimalNumber NSDictionary NSError NSEvent NSFileAttributes NSFileManager NSFileManager enumeratorAtURL NSFont NSFontManager NSGraphicsContext NSImage NSIndex NSKeyedArchiver NSKeyedUnarchiver NSLocale NSMutableArray NSMutableDictionary NSMutableString NSNotFound NSNumber NSOpenPanel NSPasteboard NSpoint NSPredicate NSPrintOperation NSRange NSRect NSRegularExpression NSRunningApplication NSScreen NSSize NSString NSString stringByApplyingTransform NSStringCompareOptions NSTask NSTimeZone NSURL NSURL File NSURLBookmark NSURLComponents NSURLResourceKey NSURLSession NSUserDefaults NSUUID NSView NSWorkspace Numbers OAuth OneDrive PDF PDFAnnotation PDFAnnotationWidget PDFContext PDFDisplayBox PDFDocumentPermissions PDFImageRep PDFKit PDFnUP PDFOutline perl Photoshop PlistBuddy pluginkit postalcode PostScript prefPane Preview Python QuickLook QuickTime ReadMe Regular Expression Reminders ReName Repeat RTF Safari SaveFile ScreenCapture ScreenSaver SF Symbols character id SF Symbols Entity sips Skype Slack Sound Spotlight sqlite SRT StandardAdditions Swift System Settings TCC TemporaryItems Terminal Text Text CSV Text MD Text TSV TextEdit Tools Translate Trash Twitter Typography UI Unit Conversion UTType valueForKeyPath Video VisionKit Visual Studio Code Wacom webarchive webp Wifi Windows XML XML EPUB XML OPML XML Plist XML RSS XML savedSearch XML SVG XML TTML XML webloc XML XMP YouTube zoom