axios

HTTP通信のライブラリ。
Promise対応。

hello world

const axios require('axios')

const connect = async () => {
    // URLは`http://`を含める必要がある?
    const res = await axios.get('http://localhost')
    console.log(res)
}
connect()

プロキシ環境

第3引数に設定するconfigオブジェクトでproxyを設定する。
falseに設定するとプロキシ経由じゃなくなる。
https://github.com/axios/axios#request-config

const res = await axios.post(
      `localhost:8091/settings/web`,
      querystring.stringify({
        username: "Administrator",
        password: "password",
        port: 8091
      }),
      {
        auth: {
          username: "Administrator",
          password: "password"
        },
        proxy: false
      },
    );

'application/x-www-form-urlencoded'でPOSTする

querystring.stringify()を使う。

import * as querystring from 'querystring'
import axios from 'axios'

export const auth = async () => {
  const data = {
    //...
  }
  const header = {
    'Content-Type': 'application/x-www-form-urlencoded',
    'Cache-Control': 'no-cache'
  }
  let res;
  try {
    res = await axios.post(uri, querystring.stringify(data), {
      headers: header
    })
  } catch (e) {
    console.warn(e.response.data)
    return
  }
}

Ref:
https://blog.b-shock.org/2018/03/30/axios-application-x-www-form-urlencoded-post/