Comment utiliser pastebin depuis shell script?

est-il possible d'utiliser pastebin (peut-être via leur fonctionnalité "API") dans les scripts shell bash? Comment envoyer http-post? Comment puis-je récupérer l'URL?

19
demandé sur Chris Martin 2010-10-25 15:06:41

5 réponses

documentation dit que vous devez soumettre un POST demande

http://pastebin.com/api_public.php

et le seul paramètre obligatoire est paste_code, de type string est la pâte que vous voulez faire.

Sur le succès d'un nouveau pastebin URL sera retourné.

vous pouvez facilement faire cela depuis votre shell bash en utilisant la commande curl.

curl utilise -d option pour envoyer le POST données au niveau spécifié URL.

Démo:

cette démo va créer un nouveau coller avec le code:

printf("Hello..I am Codaddict");

à Partir de votre shell:

$ curl -d 'paste_code=printf("Hello..I am Codaddict");' 'http://pastebin.com/api_public.php'
http://pastebin.com/598VLDZp
$

Maintenant, si vous voyez l'URL http://pastebin.com/598VLDZp, vous verrez mon coller :)

alternativement vous pouvez le faire en utilisant le wget commande qui utilise l'option --post-data envoyer POST valeurs.

j'ai essayé cette commande, il fonctionne amende:

wget --post-data 'paste_code=printf("Hello..I am Codaddict");' 'http://pastebin.com/api_public.php'
6
répondu codaddict 2010-12-13 08:26:08

Sprunge (http://github.com/rupa/sprunge) est grand. D'utilisation:

<command> | curl -F 'sprunge=<-' http://sprunge.us

ou, comme je l'utiliser:

alias paste="curl -F 'sprunge=<-' http://sprunge.us"
<command> | paste
9
répondu user2291758 2014-06-09 22:55:57

mettez ce qui suit dans votre .bashrc:

sprunge() {
  if [[  ]]; then
    curl -F 'sprunge=<-' "http://sprunge.us" <""
  else
    curl -F 'sprunge=<-' "http://sprunge.us"
  fi
}

...et puis vous pouvez exécuter:

sprunge filename # post file to sprunge

...ou...

some_command | sprunge # pipe output to sprunge
4
répondu Charles Duffy 2014-06-09 23:10:44

deux autres réponses (de circa 2014) pointent vershttp://sprunge.us, qui est conçu pour être utilisé comme ceci...

curl --form 'sprunge=@yourfile.txt' sprunge.us

cependant, à partir de 2018, sprunge.nous avons tendance à être surchargés et à renvoyer 500 erreurs internes du serveur à chaque requête. Pour les fichiers allant jusqu'à au moins 300 Ko mais pas aussi haut que 2,8 mo, j'ai eu de la chance avec le service très similaire à http://ix.io:

curl --form 'f:1=@yourfile.txt' ix.io

Pour les fichiers jusqu'à au moins 2,8 MO (et peut-être plus, Je ne sais pas), j'ai trouvé le plus poli https://transfer.sh. Il recommande un peu différente et plus simple ligne de commande, et il fauthttps (il ne fonctionnera pas sans elle):

curl --upload-file yourfile.txt https://transfer.sh
1
répondu Quuxplusone 2018-07-11 00:34:49

L'API pour l'affichage à pastebin a changé, depuis l'affichage par codaddict.

Pour plus de détails, voir le lien suivant: https://pastebin.com/api

Exemple: curl -d 'api_paste_code=printf("Hello..\n I am Codaddict");' \ -d 'api_dev_key=<get_your_own>' \ -d 'api_option=paste' 'http://pastebin.com/api/api_post.php'

il y a trois champs essentiels à l'heure actuelle:

api_dev_key -> Vous avez besoin de créer un compte de connexion sur pastebin.com afin d'obtenir ce

api_option - > Format dans lequel afficher

api_paste_code -> le Texte que vous voulez afficher

0
répondu vishal 2018-05-11 02:52:47