Jak możemy wykonać takie żądanie HTTP w NodeJS? Doceniony przykład lub moduł.
curl https://www.googleapis.com/urlshortener/v1/url \
-H 'Content-Type: application/json' \
-d '{"longUrl": "http://www.google.com/"}'
Moduł żądań Mikeala może to łatwo zrobić:
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.
}
});
headers: {'content-type' : 'application/json'},
opcji.Prosty przykład
źródło
Jak podaje oficjalna dokumentacja :
Wysyłając JSON wystarczy, że umieścisz go w treści opcji.
źródło
Z jakiegoś powodu tylko to zadziałało dla mnie dzisiaj. Wszystkie inne warianty zakończyły się błędem json z API.
Poza tym jeszcze jeden wariant tworzenia wymaganego żądania POST z ładunkiem JSON.
źródło
Używanie żądania z nagłówkami i postem.
źródło
Ponieważ
request
moduł używany w innych odpowiedziach został wycofany, mogę zasugerować przejście donode-fetch
:źródło