-
Proselfに対してコマンドラインでファイルのアップロードやダウンロードを行うことは可能でしょうか。 curlコマンドを用いることでファイルのアップロードやダウンロードが可能となります。
なお、curlコマンドはLinux OS及びWindows10(1803)以降は標準でインストールされておりますが、それ以外のOSでは別途インストールが必要となります。
※インストール方法についてはお客様ご自身でお調べください。
以下にアップロードやダウンロードの例を示します。
※実行コマンドについてはいずれも1行で指定する必要があります。
※curlコマンドのオプションにつきましてはお客様ご自身でお調べください。
◆curlによるファイルアップロードの例
- ProselfサーバーURL: http://example.com
- アップロード先:TOP > user001(user001のユーザーフォルダ直下)
- アップロード対象ファイル(OS上):/temp/put.txt
- ユーザーID:user001
- ユーザーパスワード:user001password
<実行コマンド>
# curl -X PUT -i -u user001:user001password -L http://example.com/user001/put.txt -H "Expect:" -T /temp/put.txt※同名ファイルが存在する場合は上書きされます。
コマンド実行後、以下内容のレスポンスが表示されますので、1行目に出力されるレスポンスコードが200番台であることを確認してください。
-
新規アップロード時のレスポンス例
レスポンスコードは「201」となります。
HTTP/1.1 201 Created
Server: Apache-Coyote/1.1
Cache-Control: private
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Set-Cookie: JSESSIONID=DF45F1BB47C49570D2F8D47D8D31A3E2; Path=/; HttpOnly
ETag: c297d7c2c892b62ebb2d167489a1aa77
Content-Length: 0
Date: Wed, 03 Jul 2019 06:09:12 GMT
-
上書きアップロード時のレスポンス例
レスポンスコードは「204」となります。
HTTP/1.1 204 No Content
Server: Apache-Coyote/1.1
Cache-Control: private
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Set-Cookie: JSESSIONID=F57C60880EE47F7B15A1176E49EECBF8; Path=/; HttpOnly
ETag: ab9eaa494cc14124aa5556bf6dbfb424
Date: Wed, 03 Jul 2019 06:09:43 GMT
<注意点>
-
アップロード先のパス内に日本語を含む場合は、-Lオプションで指定するURLをURLエンコーディングする必要があります。
- ProselfサーバーURL: http://example.com
- アップロード先:TOP > user001(user001のユーザーフォルダ直下)
- アップロード対象ファイル(OS上):/temp/サンプル1.dat
- ユーザーID:user001
- ユーザーパスワード:user001password
<実行コマンド>
# curl -X PUT -i -u user001:user001password -L http://example.com/user001/%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB1.dat -H "Expect:" -T /temp/サンプル1.dat
◆curlによるファイルダウンロードの例
- ProselfサーバーURL: http://example.com
- ダウンロード対象ファイル:TOP > user001 > get.txt
- ユーザーID:user001
- ユーザーパスワード:user001password
<実行コマンド>
-
任意の場所にファイルをダウンロードする場合
# curl -X GET -u user001:user001password http://example.com/user001/get.txt -o /temp/get.txt※/temp/get.txtに保存されます。
-
コマンドを実行したカレントディレクトリ直下にファイルをダウンロードする場合
# curl -X GET -u user001:user001password http://example.com/user001/get.txt -O※URL末尾の名前(get.txt)がそのままファイル名として保存されます。
<注意点>
-
ダウンロード対象ファイルのパス内に日本語を含む場合は、以下に示すように引数に指定するURLをURLエンコードする必要があります。
- ProselfサーバーURL: http://example.com
- ダウンロード対象ファイル:TOP > user001 > サンプル2.dat
- ダウンロード先(OS上):/temp/サンプル2.dat
- ユーザーID:user001
- ユーザーパスワード:user001password
<実行コマンド>
-
任意の場所にファイルをダウンロードする場合
# curl -X GET -u user001:user001password http://example.com/user001/%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB2.dat -o /temp/サンプル2.dat※/temp/サンプル2.datに保存されます。
-
コマンドを実行したカレントディレクトリ直下にファイルをダウンロードする場合
# curl -X GET -u user001:user001password http://example.com/user001/%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB2.dat -O
※URL末尾の名前(%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB2.dat)がそのままファイル名として保存されてしまいますのでご注意ください。
(最終更新日:2024/01/10)