title: When using request it's returning random strings and letters instead of XML
body: <p>I'm trying to retrieve the XML of this API: <a href="https://www.roblox.com/asset/?id=4562735369" rel="nofollow noreferrer">https://www.roblox.com/asset/?id=4562735369</a> when I use postman it returns the XML correctly.</p>
  
  <p>What I'm trying to get:</p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.roblox.com/roblox.xsd" version="4"&gt;
    &lt;External&gt;null&lt;/External&gt;
    &lt;External&gt;nil&lt;/External&gt;
    &lt;Item class="Decal" referent="RBX0"&gt;
      &lt;Properties&gt;
        &lt;token name="Face"&gt;5&lt;/token&gt;
        &lt;string name="Name"&gt;Decal&lt;/string&gt;
        &lt;float name="Shiny"&gt;20&lt;/float&gt;
        &lt;float name="Specular"&gt;0&lt;/float&gt;
        &lt;Content name="Texture"&gt;
          &lt;url&gt;http://www.roblox.com/asset/?id=4562735350&lt;/url&gt;
        &lt;/Content&gt;
        &lt;bool name="archivable"&gt;true&lt;/bool&gt;
      &lt;/Properties&gt;
    &lt;/Item&gt;
  &lt;/roblox&gt;
  </code></pre>
  
  <p>What I'm getting:
  <code>�u�_K�0���Cɻ�u[F� L��^��n �IIҵ~{�6��9�Czί���PkVʴI[*�fm)K�I�}5h�f�LF�na���'`B���g�kX�����_I�&lt;ע��ə6o�DWq��?7�{i��I�o��)![�&amp;����)a�IB�Z�Vs�t����S�x/�D(�\NQpE���}N&gt;���wk*�^��Jм�B�h޵�6!,�ЋG�y+�6B�΄�A�Hn��&gt;��B�o��)�^&gt;CU(j�-a�܃�&gt;l�Ol}m��@�V���u��;�Χ���v�M�������1*�q+ ��+���Bg?UR�n!i�d����\�</code></p>
  
  <p>My code:</p>
  
  <pre class="lang-js prettyprint-override"><code>// Packages
  const express = require("express");
  const xmlparser = require("express-xml-bodyparser");
  const getQueryParam = require("get-query-param");
  const request = require("request");
  const rateLimit = require("express-rate-limit");
  const colors = require("colors");
  
  // Configuration
  const PORT = 3000;
  const RATE_LIMIT_WINDOW_TIME = 15 * 60 * 1000; // 15 minutes
  const RATE_LIMIT_REQUEST_MAX = 100;
  
  // Functions
  function logInformation(tag, data) {
    console.log(colors.yellow(`[${tag}]: `) + colors.underline(data));
  }
  
  // express app
  const limiter = rateLimit({
    windowMs: RATE_LIMIT_WINDOW_TIME,
    max: RATE_LIMIT_REQUEST_MAX
  });
  
  const app = express();
  logInformation("Startup", "Created express server instance.");
  
  app.use(limiter);
  logInformation("Startup", "Started using app rate limiter");
  
  app.use(xmlparser());
  logInformation("Startup", "Started using XML body parser");
  
  // api
  
  app.get("/getDecalID/:id", (req, res) =&gt; {
    let imageId = req.params.id;
  
    if (imageId) {
      request(`http://www.roblox.com/asset/?id=4562735369`, function(
        error,
        response,
        body
      ) {
        if (!error) {
          logInformation("Body", body);
          res.send(body);
        } else {
          res
            .status(500)
            .json({ error: "Error while sending request to roblox's API" });
        }
      });
    } else {
      res.status(500).json({ error: "imageId not provided or found." });
    }
  });
  
  // Listen
  app.listen(PORT, () =&gt; {
    console.log(colors.green("Running: ") + `http://localhost:${PORT}`);
  });
  </code></pre>
  
  <p>Postman Screenshot:
  <a href="https://i.stack.imgur.com/uMSty.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/uMSty.png" alt="Postman"></a></p>
  
  <p>I'm not sure what else to do because everytime that I send the request it just returns the random characters. I need the XML so I can parse it into data. I know it's possible because postman is able to get the XML but I don't know why I can't get it. Please help.</p>