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

1

Eu recentemente tentei usar o seguinte código para enviar e colar para pastebin.com:

link

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

--data "api_user_key=$api_user_key" \

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

api_user_key="VALUE HERE"

e isso seria enviado 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?

    
por t988GF 08.04.2017 / 15:01

1 resposta

0

O código envia o api_user_key . Pode enviar uma string vazia se a variável não estiver configurada. O script contém o 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 logintopastebin como um valor diferente de zero no início ou se você passar uma das opções -u ou -l na linha de comando. Você pode substituir o valor definindo a variável api_user_key manualmente 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 entender o que o script está fazendo, adicione set -x como a segunda linha para fazer com que ele imprima um traço de cada linha quando for executado.

    
por 09.04.2017 / 03:25

Tags