Изменение кода для отправки аргумента в 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ненулевое значение в начале или если вы передаете одну из опций -uили -lв командной строке. Вы можете переопределить значение, установив переменную api_user_keyвручную после или вместо вызова auth_user, перед вызовом curl, например

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 -xвторую строку, чтобы он выводил трассировку каждой строки по мере ее выполнения.

Связанный контент