czzad
czzad

Reputation: 25

Don't get expected result Node Fetch POST

I was trying to monitor my order packages

So there is the package track number.

Maybe it's not Submitting

I need to get the result from the expected page but it seems i'm on the base_url

code:

const fetch = require("node-fetch");

const base_url = "https://www2.correios.com.br/sistemas/rastreamento/";
const data = { acao: "track", objetos: "OD769124717BR", btnPesq: "Buscar" };

fetch(base_url, {
  method: "POST",
  body: JSON.stringify(data),
  headers: {
    acceptEncoding: "gzip, deflate, br",
    connections: "keep-alive",
  },
})
  .then((results) => results.text())
  .then(console.log);

the source of the form data:

acao=track&objetos=OD729124717BR&btnPesq=Buscar

Upvotes: 0

Views: 66

Answers (1)

HarbyUK
HarbyUK

Reputation: 386

Have you tried adding a catch to the fetch? If you do this, you will see that it is erroring with the error message "Failed to fetch". I've added this to your existing example so you can try for yourself:

const fetch = require("node-fetch");

const base_url = "https://www2.correios.com.br/sistemas/rastreamento/";
const data = { acao: "track", objetos: "OD769124717BR", btnPesq: "Buscar" };

fetch(base_url, {
  method: "POST",
  body: JSON.stringify(data),
  headers: {
    acceptEncoding: "gzip, deflate, br",
    connections: "keep-alive",
  },
})
  .then((results) => results.text())
  .then(console.log)
  .catch(error => console.error("Error:", error.message));

I would recommend that you do some simple testing using cURL commands within the command line, or use a GUI tool such as Postman or SOAP UI to ensure that you have a valid URL and data parameters when testing this endpoint.

Upvotes: 1

Related Questions