Alterando código para enviar argumento para API - Bash - Pastebin

Alterando código para enviar argumento para API - Bash - Pastebin

Recentemente, tentei usar o seguinte código para enviar pasta para pastebin.com:

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

O que notei com esse script é que ele não parece enviar api_user_key. A linha 183 lista:

--data "api_user_key=$api_user_key" \

então pensei que seria apenas uma questão de especificar seu valor, como:

api_user_key="VALUE HERE"

e isso o enviaria para a API. No entanto, não tenho certeza do que essa parte do código faz (parte do código que começa em 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"

Esta parte do código significa que todos esses argumentos serão enviados para a API?

Responder1

O código envia o arquivo api_user_key. Pode enviar uma string vazia se a variável não estiver definida. Oroteirocontém código para encontrar a chave do usuário consultando o servidor na função auth_user, mas essa função só é chamada se você definir logintopastebinum valor diferente de zero no início ou se você passar uma das opções -uou -lna linha de comando. Você pode substituir o valor definindo a variável api_user_keymanualmente após ou em vez da chamada para auth_user, antes da chamada para curl, por exemplo

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 \

Se você não entende o que o script está fazendo, adicione set -xa segunda linha para que ele imprima um traço de cada linha à medida que é executado.

informação relacionada