wget の URL の後に body-data は許可されますか?

wget の URL の後に body-data は許可されますか?

私は自分のミスで、wget マニュアル最後にURLのみを記載しているので、body-dataオプションを指定できますURL。これは非常に便利ですが、これが設計通りの動作であるかどうか疑問に思います。

$ wget --method=PUT -O -  http://httpbin.org/put --body-data='abcdefg'
--2019-03-27 10:52:30--  http://httpbin.org/put
Resolving httpbin.org (httpbin.org)... 3.85.154.144, 52.71.234.219
Connecting to httpbin.org (httpbin.org)|3.85.154.144|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 415 [application/json]
Saving to: ‘STDOUT’

-                              0%[                                               ]       0  --.-KB/s               {
  "args": {}, 
  "data": "", 
  "files": {}, 
  "form": {
    "abcdefg": ""
  }, 
  "headers": {
    "Accept": "*/*", 
    "Accept-Encoding": "identity", 
    "Content-Length": "7", 
    "Content-Type": "application/x-www-form-urlencoded", 
    "Host": "httpbin.org", 
    "User-Agent": "Wget/1.19.1 (cygwin)"
  }, 
  "json": null, 
  "origin": "50.203.83.51, 50.203.83.51", 
  "url": "https://httpbin.org/put"
}
-                            100%[==============================================>]     415 --.-KB/s    in 0s      

2019-03-27 10:52:30 (4.53 MB/s) - written to stdout [415/415]

答え1

はい、これはサポートされている動作です。Wget コマンドラインでは、URL をどこにでも配置できます。

編集: info wget、セクション 2.2、オプション構文より:

Wget はコマンドライン引数の処理に GNU getopt を使用するため、すべてのオプションには短い形式に加えて長い形式があります。長いオプションは覚えやすいですが、入力に時間がかかります。異なるオプション スタイルを自由に組み合わせることも、コマンドライン引数の後にオプションを指定することもできます。つまり、次のように記述できます。

 wget -r --tries=10 http://fly.srk.fer.hr/ -o log

関連情報