2011-12-30 7 views

risposta

196

Mikeal's request può farlo facilmente:

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

La proprietà 'json' è il trucco. –

+1

Grazie per questa risposta utile. Alla fine mi rendo conto che l'opzione è ben documentata. Ma perso nel mezzo di molti altri ... –

5

Semplice esempio

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

Come il official documentation dice:

corpo - corpo entità per le richieste PATCH, POST e PUT. Deve essere un Buffer, una String o un ReadStream. Se json è true, il corpo deve essere un oggetto serializzabile JSON.

Quando si invia JSON, è sufficiente inserirlo nel corpo dell'opzione.

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