2 votes

Comment envoyer JSON dans une requête POST avec NodeJS

J'essaie d'envoyer une demande POST à un point de terminaison qui accepte JSON et cela ne fonctionne pas. Dois-je envoyer un paramètre spécifique pour que le réseau sache que la requête est codée en JSON ?

Voici la demande simple que j'ai faite jusqu'à présent :

var request = require('request')

var cookie = '**Here the cookie copied from the Network tab from the Chrome Dev Tools Bar**'
var UA = '**Here the UA copied from the Network tab from the Chrome Dev Tools Bar**'

var JSONformData = {"jsonrpc":"2.0","method":"LMT_split_into_sentences","params":{"texts":["Text"],"lang":{"lang_user_selected":"auto","user_preferred_langs":["EN","ES"]}},"id":8}

var URL = 'https://www.deepl.com/jsonrpc'

request.cookie(cookie)
request.post({
        url: URL, 
        headers: {
            'User-Agent': UA
        },
        form: JSONformData
    }, function(error, response, body) {
        console.log(response)
    }
)

6voto

Meta Pakistani Points 1109

Si vous envoyez des données JSON, vous n'avez pas besoin de spécifier le formulaire, mais plutôt de spécifier le json des données dans l'objet options :

request.post({
        url: URL, 
        headers: {
            'User-Agent': UA
        },
         json: JSONformData
    }, function(error, response, body) {
        console.log(response)
    })

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X