Home > Enterprise >  Retrieving http response headers information from any website
Retrieving http response headers information from any website

Time:03-07

I'm using Vue CLI and axios.

I have a searchbar where the user can input (potentially) any website and read info about the HTTP request and response.

Some of the information I need to get are: HTTP protocol, Status code, Location (if redirected), Date and Server.

What I'm doing is a simple axios GET request taking the input from the searchbar. I'm trying to get my head around the CORS domain issues, but even then, when I input a CORS supported site like myjson I can access only the CORS-safelisted response headers which are not what I'm looking for.

This is the axios call:

axios
    .get(url)
    .then((r) => {
      console.log(r);
      
      console.log(r.headers.server); //undefined
    })
    .catch((e) => {
      console.error(e);
    });

Is the brief I'm presenting even possible?

CodePudding user response:

The response to a cross-origin request for https://myjson.dit.upm.es/about contains the CORS-related headers

Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, PATCH, PUT, DELETE, POST, OPTIONS

but no Access-Control-Expose-Headers. Without that, a cross-origin client cannot access the Server header, because it is not CORS-safelisted.

It would work if you had your server make the request and evaluate the headers, not the axios client.

  • Related