2010-10-25 7 views
14

क्या पेस्टबिन का उपयोग करना संभव है (उनके "API" functionality के माध्यम से) बैश खोल स्क्रिप्ट के अंदर हो सकता है? मैं http-post कैसे भेजूं? मैं यूआरएल वापस कैसे प्राप्त करूं?शैल स्क्रिप्ट से पेस्टबिन का उपयोग कैसे करें?

+0

FYI, pastebin.com किसी भी ब्राउज़र ब्राउज़र प्लगइन का उपयोग न करने वाले विज्ञापनों के लिए विज्ञापन से भरा है। कृपया एक अलग पेस्टबिन का उपयोग करने पर विचार करें। http://ix.io/, frrinstance, दोनों (1) विज्ञापन नहीं दिखाते हैं, और (2) होमपेज पर प्रमुख गोले से इसे पोस्ट करने के लिए निर्देश शामिल हैं। –

उत्तर

9

documentation का कहना है कि आप

http://pastebin.com/api_public.php 

और केवल अनिवार्य पैरामीटर के लिए एक POST अनुरोध सबमिट करना होगा, paste_code है के प्रकार स्ट्रिंग पेस्ट है कि आप बनाना चाहते है।

सफलता पर एक नया pastebin यूआरएल वापस कर दिया जाएगा।

आप आसानी से curl आदेश का उपयोग करके अपने बैश खोल से ऐसा कर सकते हैं।

curl-d विकल्प का उपयोग POST निर्दिष्ट URL पर डेटा भेजने के लिए करता है।

डेमो:

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

अपने खोल से::

इस डेमो कोड के साथ एक नया पेस्ट पैदा करेगा

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

अब अगर आप यूआरएल http://pastebin.com/598VLDZp देखते हैं, आप मैं अपना पेस्ट देखूंगा :)

वैकल्पिक रूप से आप इसे wget कमांड का उपयोग करके कर सकते हैं जो को POST मान भेजने के लिए विकल्प का उपयोग करता है।

मैं इस आदेश की कोशिश की है यह ठीक काम करता है:

wget --post-data 'paste_code=printf("Hello..I am Codaddict");' 'http://pastebin.com/api_public.php' 
+8

अब यह अक्षम कर दिया गया है, एक नया पेस्टबिन एपीआई – jayunit100

+0

अब और काम नहीं करता है। –

0

मुझे यकीन नहीं है लेकिन मुझे लगता है कि यह प्रश्न सुपरसियर से संबंधित है। वैसे भी ...

आप पोस्ट डेटा भेजने के लिए wget का उपयोग कर सकते हैं (--post-data या --post-file विकल्प के माध्यम से)। अधिक जानकारी के लिए man page देखें।

4

pastebin.com के रूप में उनके सार्वजनिक एपीआई बंद कर दिया, मैं विकल्पों की तलाश की गई थी।

स्प्रेंज (http://github.com/rupa/sprunge) बहुत अच्छा है। उपयोग:

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

या, के रूप में मैं इसे का उपयोग करें:

alias paste="curl -F 'sprunge=<-' http://sprunge.us" 
<command> | paste 
+0

+1, चेतावनी के साथ कि यह उपनाम की तुलना में एक फ़ंक्शन प्रदान करना बेहतर होगा - फ़ंक्शंस तर्कों को पुन: व्यवस्थित कर सकता है, तर्क कर सकता है, noninteractive shells आदि में उपयोग किया जा सकता है। –

5

अपने .bashrc में निम्नलिखित रखो:

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

... और फिर आप चला सकते हैं:

sprunge filename # post file to sprunge 

... या ...

some_command | sprunge # pipe output to sprunge 
संबंधित मुद्दे