API に引数を送信するコードの変更 - Bash - Pastebin

API に引数を送信するコードの変更 - Bash - Pastebin

最近、次のコードを使用して pastebin.com に貼り付けを送信しようとしました。

https://github.com/mefuckin/pastebin-shell/blob/master/pbin

このスクリプトで気づいたのは、api_user_key を送信していないように見えることです。183 行目に次のように記載されています。

--data "api_user_key=$api_user_key" \

そこで、次のように値を指定するだけでよいと考えました。

api_user_key="VALUE HERE"

そして、それは API に送信されます。ただし、コードのその部分 (174 で始まるコード部分) が何を行うのかはわかりません。

[ $logintopastebin -ne 0 ] && auth_user
api_paste_code=$( cat - )
curl -0 --show-error \
    --data "api_dev_key=$api_dev_key" \
    --data "api_option=paste" \
    --data "api_paste_code=$api_paste_code" \
    --data "api_paste_format=$api_paste_format" \
    --data "api_paste_private=$api_paste_private" \
    --data "api_paste_expire_date=$api_paste_expire_date" \
    --data "api_user_key=$api_user_key" \
    --data-urlencode "api_paste_name=$api_paste_name" \
    --data-urlencode "api_paste_code=$api_paste_code" \
        "$api_url/api_post.php"

コードのこの部分は、これらすべての引数が API に送信されることを意味しますか?

答え1

コードは を送信しますapi_user_key。変数が設定されていない場合は空の文字列が送信される可能性があります。脚本関数 には、サーバーに問い合わせてユーザー キーを検索するコードが含まれていますauth_userが、その関数は、logintopastebin最初に を 0 以外の値に設定するか、オプションの 1 つ-uまたはコマンド ラインで を渡した場合にのみ呼び出されます。の呼び出しの後、または の代わりに、 の呼び出しの前に、-l変数を手動で設定することで、値を上書きできます。例:api_user_keyauth_usercurl

api_user_key=$(cat ~/.passwords/pastebin/api_user_key)
if [ -z "$api_user_key" ] && [ "$logintopastebin" -eq 0 ]; then
  auth_user
fi
api_paste_code=$( cat - )
curl -0 --show-error \

スクリプトが何をしているのか分からない場合は、set -x2 行目として追加して、実行されるたびに各行のトレースを出力するようにします。

関連情報