ອະແດັບເຕີ Node HTTP ຂອງ Axios ຮັບອອບເຈັກພຣັອກຊີ HTTP ທີ່ມີໂຮສແລະພອດເປັນຕົວເລກ:

import axios from 'axios';

const response = await axios.get('https://example.com/', {
  adapter: 'http',
  proxy: {
    protocol: 'http',
    host: '203.0.113.10',
    port: 8080,
  },
  timeout: 15000,
});

console.log(response.status);

ແທນຈຸດປາຍເອກະສານດ້ວຍລາຍການ HTTP ຈາກບໍລິການຫຼືລາຍການພຣັອກຊີ HTTP. ຕົວຢ່າງໃຊ້ Node; Axios ໃນບຣາວເຊີບໍ່ສາມາດເລືອກພຣັອກຊີເຄືອຂ່າຍຂອງບຣາວເຊີຜ່ານຕົວເລືອກນີ້. ຊ່ອງ host ຮັບທີ່ຢູ່ໂດຍບໍ່ມີສະກີມ URL.

protocol ຂອງອອບເຈັກພຣັອກຊີອະທິບາຍຜູ້ຮັບຟັງຂອງມັນ. ໃນ Axios 1.21.0 ອະແດັບເຕີ Node HTTP ໃຊ້ CONNECT ສຳລັບເປົ້າໝາຍ HTTPS ແລ້ວເຈລະຈາ TLS ກັບເຊີບເວີຕົ້ນທາງຜ່ານອຸໂມງ. ລຸ້ນເກົ່າໃຊ້ເສັ້ນທາງພຣັອກຊີຕ່າງກັນ ດັ່ງນັ້ນລຸ້ນທີ່ຕິດຕັ້ງຈຶ່ງສຳຄັນ.

URL SOCKS ຕ້ອງມີ agent SOCKS

ອອບເຈັກພຣັອກຊີ HTTP ບໍ່ເລືອກ SOCKS. ໃຊ້ agent ທີ່ເຂົ້າກັນໄດ້ແທນ:

npm install [email protected] [email protected]
import axios from 'axios';
import { SocksProxyAgent } from 'socks-proxy-agent';

const agent = new SocksProxyAgent('socks5h://203.0.113.10:1080');

try {
  const response = await axios.get('https://example.com/', {
    adapter: 'http',
    httpAgent: agent,
    httpsAgent: agent,
    proxy: false,
    timeout: 15000,
  });
  console.log(response.status);
} finally {
  agent.destroy();
}

proxy: false ປິດການຈັດການພຣັອກຊີ HTTP ຂອງ Axios ສຳລັບເສັ້ນທາງທີ່ agent SOCKS ໃຫ້. ການໃຫ້ agent ສຳລັບປາຍທາງ HTTP ແລະ HTTPS ຄອບຄຸມທັງສອງສະກີມ. ທີ່ນີ້ socks5h ມອບ DNS ປາຍທາງໃຫ້ຝ່າຍ SOCKS; ເຊີບເວີທີ່ເລືອກຕ້ອງຮອງຮັບໂປຣໂຕຄອນນັ້ນ.

ອ່ານຄວາມລົ້ມເຫຼວ

ຂໍ້ຜິດພາດ Axios ອາດມີຄຳຕອບເມື່ອເວັບໄຊສົ່ງສະຖານະບໍ່ສຳເລັດ. ຖ້າບໍ່ມີຄຳຕອບ ໃຫ້ກວດລະຫັດຜິດພາດແລະລາຍລະອຽດການຕໍ່. ໂມດູນຂາດ, ໂປຣໂຕຄອນບໍ່ຮອງຮັບ ຫຼືລຸ້ນ Node ບໍ່ເຂົ້າກັນ ອາດລົ້ມເຫຼວກ່ອນຄຳຮ້ອງຂໍຈະເຖິງຈຸດປາຍ.

ສຳລັບພຣັອກຊີ HTTP ທີ່ຕ້ອງຢືນຢັນ ໃຊ້ຊ່ອງ auth ຂອງອອບເຈັກພຣັອກຊີກັບຂໍ້ມູນເຂົ້າໃຊ້ທີ່ຜູ້ດຳເນີນງານໃຫ້. ການຢືນຢັນຂອງປາຍທາງແມ່ນສຳລັບຄົນລະຝ່າຍ.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ