Function Reference

InetGet

HTTPプロトコル、HTTPSプロトコルもしくはFTPプロトコルを使用してインターネットからファイルをダウンロードします。

InetGet ( "URL" [,"filename" [, options [, background]]] )

 

パラメータ

URL ダウンロードするファイルのURL。下記、注意を参照。
filename [オプション]ダウンロード先のローカルでの名前
options [オプション] 0 = (デフォルト) 利用可能な場合、ローカルキャッシュからファイルを取得します。
1 = 常にリモートサイトからリロードします。
2 = 全てのSSLエラーを無視します(HTTPSコネクション時)。
4 = FTPプロトコルによるファイル転送時にASCIIを使用します(フラグ8と組み合わせることはできません)。
8 = FTPプロトコルによるファイル転送時にBINARYを使用します(フラグ4と組み合わせることはできません)。何も設定していない場合、これがデフォルトの転送モードになります。
16 = オンライン接続を回避するようにします (注意を参照)。
background [オプション]
0 = (デフォルト) ダウンロードが完了するまで処理を停止する。
1 = すぐに処理を返し、バックグラウンドでダウンロードをおこなう (注意を参照)。

 

返し値

成功 返し値はダウンロードがバックグラウンドで行われているかどうかによって変化します:
バックグラウンド時: ハンドルが返されます。このハンドルはInetGetInfo()で使用することができます。ハンドルはInetClose()で閉じる必要があります。
待機時: ダウンロードされたバイト数
失敗
バックグラウンド時: ハンドルが返されます。ダウンロード中にエラーが発生していないかどうか調べるにはInetGetInfo()を使用してください。ハンドルはInetClose()で閉じる必要があります。
待機時: @errorを非ゼロに設定し、0を返します。

 

注意

この関数の動作にはインターネットエクスプローラ3以上が必要です。

URLパラメータはウェブブラウザに入力する場合と同様に"http://www.somesite.com/path/file.html"形式でなければなりません。

ユーザー名、パスワードを使用する場合はサーバー名の前に"username:password@"形式で付け加えます。
例:"http://myuser:mypassword@www.somesite.com"

"background" パラメータについての注意

デフォルトでは関数はダウンロードが終了するまで停止して処理を返しません。backgroundパラメータを1に設定するとただちに処理を返して、ダウンロードはバックグラウンドでおこなわれます。関数InetGetInfo()を使用することで ダウンロードの進行具合を調べることができます。この関数はInetGet()の返すハンドルを引数にとります。

backgroundモードで開始した場合、複数のダウンロードを同時に行うことができます。

ダウンロードを破棄するにはInetClose()を呼んでInetGet()の返すハンドルを渡してください。

デフォルトではAutoItはダウンロード開始前に接続を確立しようとします。ダイアルアップのユーザーの場合、オンライン移行をプロンプトするかモデムをダイヤルします(システムの設定に依存します)。 options値の16はこの処理を無効にします。常時接続(ブロードバンド、LAN)の場合には処理を無効にした方が良いでしょう。ただし、Windows VistaとWindows 7の場合にはこれに関連した特定の問題に対処する必要があります。

 

関連

InetGetSize, InetRead, InetGetInfo, InetClose, HttpSetProxy, FtpSetProxy, HttpSetUserAgent

 


InetGet("http://www.mozilla.org", @TempDir & "\mozilla.html")
InetGet("http://www.autoitscript.com", @TempDir & "autoitscript.html", 1)
InetGet("ftp://ftp.mozilla.org/pub/mozilla.org/README", @TempDir & "\Mozilla-README.txt", 1)

; 応用例 バックグラウンドでのダウンロード
Local $hDownload = InetGet("http://www.autoitscript.com/autoit3/files/beta/update.dat", @TempDir & "\update.dat", 1, 1)
Do
    Sleep(250)
Until InetGetInfo($hDownload, 2)    ; ダウンロードが完了したかどうか調べる
Local $nBytes = InetGetInfo($hDownload, 0)
InetClose($hDownload)   ; ハンドルを閉じてリソースを解放
MsgBox(0, "", "Bytes read: " & $nBytes)