[解決済み] Wgetでリクエスト投稿?
質問
wgetを使って、認証トークン「AUTH_1624582364932749DFHDD」を使って、遠くのサーバーにある「test」フォルダに画像をアップロードしたいのですが、どうすればよいですか?
このコマンドはうまくいきません(認証に失敗)。構文についてではないことを確認したいのですが。
wget --post-file=nature.jpg http://ipadress:8080/v1/AUTH_test/test/ --post-data="AUTH_1624582364932749DFHDD"
何かご意見はありますか?
解決方法は?
Wgetは現在、"multipart/form-data"データをサポートしていません。
--post-file
は、フォームの添付ファイルとしてファイルを送信するためのものではなく、フォームと一緒にデータが送信されることを想定しています。
key=value&otherkey=example
. 実際には、対応するヘッダを送信すれば、他のフォーマット(json)を投稿することも可能です。
--post-data
と
--post-file
は同じように動作します。唯一の違いは
--post-data
はコマンドラインでデータを指定できるのに対し
--post-file
は、送信するデータを含むファイルのパスを指定します。
以下はそのドキュメントです。
--post-data=string
--post-file=file
Use POST as the method for all HTTP requests and send the specified data
in the request body. --post-data sends string as data, whereas
--post-file sends the contents of file. Other than that, they work in
exactly the same way. In particular, they both expect content of the
form "key1=value1&key2=value2", with percent-encoding for special
characters; the only difference is that one expects its content as a
command-line parameter and the other accepts its content from a file. In
particular, --post-file is not for transmitting files as form
attachments: those must appear as "key=value" data (with appropriate
percent-coding) just like everything else. Wget does not currently
support "multipart/form-data" for transmitting POST data; only
"application/x-www-form-urlencoded". Only one of --post-data and
--post-file should be specified.
認証トークンについては、ヘッダ、URLのパス、またはデータ自体のいずれかで提供される必要があります。このことは、利用するサービスのドキュメントのどこかに記載されているはずです。POSTリクエストでは、GETリクエストと同様に、キーと値を使ってデータを指定する必要があります。こうすることで、サーバーは特定の名前を持つ複数の情報を受け取ることができるようになります。変数と似ていますね。
したがって、単にマジックトークンをサーバーに送るだけではダメで、キーの名前も指定する必要がある。もしキーが "token"であれば、次のようになります。
token=YOUR_TOKEN
.
wget --post-data 'user=foo&password=bar' http://example.com/auth.php
また、curlを使うと簡単にファイルを送ることができるので、できればcurlを使うことを検討したほうがよいでしょう。そのための例はインターネット上にたくさんあります。
関連
-
[解決済み] glibc: elfファイルのOS ABIが無効です。
-
[解決済み] フォーム送信のようなJavaScriptのポストリクエスト
-
[解決済み] HTTP POSTリクエストでは、どのようにパラメータが送信されるのですか?
-
[解決済み] HTTP POST Web リクエストの作成方法
-
[解決済み] node.jsでHTTP POSTリクエストはどのように行われるのですか?
-
[解決済み] POSTとPUT HTTP REQUESTの違いは何ですか?
-
[解決済み] wgetでダウンロード先を指定するには?
-
[解決済み] wget を使って任意のファイルを含むディレクトリを再帰的に取得する
-
[解決済み] LinuxでJava JDKをwgetでダウンロードすると、ライセンスページが表示される
-
[解決済み】HTTPのPOSTとPUTの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】環境変数TERMが設定されていない件
-
[解決済み] 予期しないトークン 'then' 付近の構文エラー
-
[解決済み】git clone時に「'https'のリモートヘルパーが見つかりません。
-
[解決済み] chmod: 'my_script.sh' のパーミッションを変更しました。操作が許可されていない
-
[解決済み] Gccコンパイル "オブジェクトファイルのサフィックスを計算できない: コンパイルできない"
-
[解決済み] at&tアセンブリの「push」と「pushq」の違いは何ですか?
-
[解決済み] あるパターンの前にテキストを追加する際に、大文字小文字を無視してsedを使用する
-
[解決済み] Nautilusのようにコマンドラインからマウントする方法とは?[クローズド]です。
-
[解決済み] CMakeエラーです。このプロジェクトでは次の変数が使用されていますが、NOTFOUND に設定されています。
-
[解決済み] 単一のコマンドでssh経由でコマンドが見つからない、ターミナルに接続したら見つかった[重複]。