インターネットからファイルをダウンロードします。
Download URL, Filename
型:文字列
ダウンロードするファイルのURL。例えば、"https://someorg.org"、その組織のウェルカムページを取得することができるかもしれません。
型:文字列
ローカルに作成するファイル名を指定します。絶対パスが指定されていない場合は、A_WorkingDirにあると仮定されます。既存のファイルは、新しいファイルによって上書きされます。
ファイルへダウンロードする機能です。To download to a variable instead, see the example below.
失敗した場合は例外がスローされます。
リモートファイルが存在しないのに、ダウンロードが成功したように見えることがあります。これは、多くのウェブサーバーが、見つからないファイルの代わりにエラーページを送信するためです。このエラーページは、Filenameの代わりに保存されるものです。
ファイアウォールや複数のネットワークアダプターが存在する場合、この機能に失敗することがあります。また、ウェブサイトによっては、そのようなダウンロードをブロックしている場合があります。
キャッシング:デフォルトでは、URLはリモートサーバーから直接取得されます(つまり、Internet Explorerのキャッシュから取得することはありません)。キャッシュを許可する場合は、URLの前に*0とスペースを入れてください:"*0 https://someorg.org"。アスタリスクに続くゼロは、有効なdwFlags番号で置き換えることができます。詳細は、www.microsoft.com「InternetOpenUrl」を検索してください。
プロキシ:Microsoft Internet Explorerの設定でプロキシサーバーが設定されている場合は、そのサーバーを使用します。
FTPやGopherのURLもサポートされています。事例:
Download "ftp://example.com/home/My File.zip", "C:\My Folder\My File.zip" ; 匿名でログインします。 Download "ftp://user:pass@example.com:21/home/My File.zip", "C:\My Folder\My File.zip" ; 特定のユーザーでログインしてください。 Download "ftp://user:pass@example.com/My Directory", "C:\Dir Listing.html" ; HTML形式のディレクトリ一覧を取得します。
Download "https://www.autohotkey.com/download/2.0/version.txt", "C:\AutoHotkey Latest Version.txt"
whr := ComObject("WinHttp.WinHttpRequest.5.1")
whr.Open("GET", "https://www.autohotkey.com/download/2.0/version.txt", true)
whr.Send()
上記の'true'と下記の呼び出しを使用することで、スクリプトの応答性を維持することができます。
whr.WaitForResponse()
version := whr.ResponseText
MsgBox version
Makes an asynchronous HTTP request.
req := ComObject("Msxml2.XMLHTTP")
; asyncを有効にしてリクエストをオープンします。
req.open("GET", "https://www.autohotkey.com/download/2.0/version.txt", true)
; コールバック関数を設定します。
req.onreadystatechange := Ready
; リクエストを送信します。 完了したらReady()が呼ばれる。
req.send()
/*
; 待つのであれば、onreadystatechangeは必要ない。
; async=trueを設定し、このように待機することで、スクリプトが残ります。
; async=falseの場合、ダウンロードが行われている間、レスポンシブに動作します。
; すると、スクリプトが応答しなくなります。
while req.readyState != 4
sleep 100
*/
Persistent
Ready() {
if (req.readyState != 4) ; Not done yet.
return
if (req.status == 200) ; OK.
MsgBox "Latest AutoHotkey version: " req.responseText
else
MsgBox "Status " req.status,, 16
ExitApp
}