Code ändern um Argumente an API zu senden - Bash - Pastebin

Code ändern um Argumente an API zu senden - Bash - Pastebin

Ich habe vor Kurzem versucht, Paste mit dem folgenden Code an pastebin.com zu senden:

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

Was mir bei diesem Skript aufgefallen ist, ist, dass es anscheinend keinen API-Benutzerschlüssel sendet. In Zeile 183 ist er aufgeführt:

--data "api_user_key=$api_user_key" \

daher dachte ich, es müsste lediglich der Wert angegeben werden, und zwar wie folgt:

api_user_key="VALUE HERE"

und das würde es an die API senden. Ich bin mir jedoch nicht sicher, was dieser Teil des Codes macht (Teil des Codes, der bei 174 beginnt):

[ $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"

Bedeutet dieser Teil des Codes, dass alle diese Argumente an die API gesendet werden?

Antwort1

Der Code sendet die api_user_key. Er kann einen leeren String senden, wenn die Variable nicht gesetzt ist. DieSkriptenthält Code zum Finden des Benutzerschlüssels durch Abfragen des Servers in der Funktion auth_user, aber diese Funktion wird nur aufgerufen, wenn Sie logintopastebinam Anfang einen Wert ungleich Null festlegen oder eine der Optionen -uoder -lin der Befehlszeile übergeben. Sie können den Wert überschreiben, indem Sie die Variable api_user_keymanuell nach oder anstelle des Aufrufs von festlegen auth_user, vor dem Aufruf von curl, z. B.

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 \

Wenn Sie nicht verstehen, was das Skript macht, fügen Sie es set -xals zweite Zeile hinzu, damit bei der Ausführung eine Ablaufverfolgung jeder Zeile gedruckt wird.

verwandte Informationen