2011-12-30 13 views
78

के साथ एप्लिकेशन/जेसन पोस्ट NodeJS में हम इस तरह HTTP अनुरोध कैसे कर सकते हैं? उदाहरण या मॉड्यूल की सराहना की।सामग्री-प्रकार भेजें: node.js

curl https://www.googleapis.com/urlshortener/v1/url \ 
    -H 'Content-Type: application/json' \ 
    -d '{"longUrl": "http://www.google.com/"}' 

उत्तर

196

Mikeal's request मॉड्यूल आसानी से कर सकते हैं:

var request = require('request'); 

var options = { 
    uri: 'https://www.googleapis.com/urlshortener/v1/url', 
    method: 'POST', 
    json: { 
    "longUrl": "http://www.google.com/" 
    } 
}; 

request(options, function (error, response, body) { 
    if (!error && response.statusCode == 200) { 
    console.log(body.id) // Print the shortened url. 
    } 
}); 
+11

'जेसन' संपत्ति चाल है। –

+1

इस सहायक उत्तर के लिए धन्यवाद। अंत में मुझे एहसास हुआ कि विकल्प अच्छी तरह से प्रलेखित है। लेकिन बहुत सारे लोगों के बीच में खो गया ... –

5

सरल उदाहरण

var request = require('request'); 

//Custom Header pass 
var headersOpt = { 
    "content-type": "application/json", 
}; 
request(
     { 
     method:'post', 
     url:'https://www.googleapis.com/urlshortener/v1/url', 
     form: {name:'hello',age:25}, 
     headers: headersOpt, 
     json: true, 
    }, function (error, response, body) { 
     //Print the Response 
     console.log(body); 
}); 
0

official documentation के रूप में कहते हैं:

शरीर - पैच, पोस्ट और पुट अनुरोधों के लिए इकाई निकाय। एक बफर, स्ट्रिंग या रीडस्ट्रीम होना चाहिए। यदि जेसन सच है, तो शरीर एक JSON-serializable वस्तु होना चाहिए।

JSON भेजते समय आपको इसे विकल्प के शरीर में रखना होगा।

var options = { 
    uri: 'https://myurl.com', 
    method: 'POST', 
    json: true, 
    body: {'my_date' : 'json'} 
} 
request(options, myCallback)