วิธีตั้งค่าพร็อกซีใน Node.js (Axios และ Native Fetch)

อัปเดตเมื่อ:

ตัวเลือก proxy: { host, port } ในตัวของ Axios จะไม่ทำงานเมื่อเชื่อมต่อไปยังเป้าหมาย https:// เนื่องจากไม่ได้เปิดทันเนล HTTP CONNECT ดังนั้นเพื่อกำหนดเส้นทางคำขอ Node.js และ TypeScript ผ่าน HTTP(S) พร็อกซีที่ต้องยืนยันตัวตนของ VinaProxy ได้อย่างถูกต้อง ให้ส่ง HttpsProxyAgent (https-proxy-agent) ไปยัง Axios หรือใช้ตัวจ่ายคำขอ undici.ProxyAgent บนฟังก์ชัน fetch() ดั้งเดิมของ Node

Node.js (Axios / Undici) · HTTP Proxy Format
new HttpsProxyAgent('http://user:pass@ip:port')
IPv4 ส่วนตัว (Datacenter)
🇺🇸 United States
มีสินค้า
เริ่มต้น
₫20,000 / IP / เดือน
≈ US$0.74 · ชำระเป็น VND
ส่วนลดตามจำนวนการสั่งซื้อ
  • 1 IP₫40,000
  • 5+ IP₫35,000
  • 10+ IP₫25,000
  • 20+ IP₫25,000
  • 50+ IP₫25,000
  • 100+ IP₫25,000
  • 200+ IP₫25,000
  • 500+ IP₫25,000
  • 1000+ IP₫22,000
  • 2000+ IP₫20,000
ซื้อ United States
IPv4 ส่วนตัว (Datacenter)
🇸🇬 Singapore
มีสินค้า
เริ่มต้น
₫20,000 / IP / เดือน
≈ US$0.74 · ชำระเป็น VND
ส่วนลดตามจำนวนการสั่งซื้อ
  • 1 IP₫40,000
  • 5+ IP₫35,000
  • 10+ IP₫25,000
  • 20+ IP₫25,000
  • 50+ IP₫25,000
  • 100+ IP₫25,000
  • 200+ IP₫25,000
  • 500+ IP₫25,000
  • 1000+ IP₫22,000
  • 2000+ IP₫20,000
ซื้อ Singapore
พร็อกซีตามแพลตฟอร์ม:web-scrapingseo-rank-trackingdiscord

เปรียบเทียบการตั้งค่าพร็อกซีระหว่าง Axios และ fetch() ใน Node.js

ทั้งสองแพ็กเกจรองรับสตริง URL มาตรฐานในรูปแบบ http://user:pass@ip:port จากแดชบอร์ด VinaProxy โดยตรง:

ไคลเอนต์ HTTPแพ็กเกจ NPMตัวอย่างโค้ดที่แนะนำ
Axiosnpm i https-proxy-agentaxios.get(url, { httpsAgent: new HttpsProxyAgent('http://user:pass@ip:port'), proxy: false })
Native fetch (Node 18+)npm i undicifetch(url, { dispatcher: new ProxyAgent('http://user:pass@ip:port') })
Gotnpm i hpagentgot(url, { agent: { https: new HttpsProxyAgent({ proxy: 'http://user:pass@ip:port' }) } })

การนำการเชื่อมต่อกลับมาใช้ใหม่ (Connection Pooling) และการจัดการหมดเวลาใน Node.js

  • ต้องระบุ proxy: false ควบคู่กับ httpsAgent ใน Axios เสมอ เพื่อไม่ให้ Axios ดึงค่าจากตัวแปรสภาพแวดล้อม HTTP_PROXY ของระบบปฏิบัติการ
  • สร้างอินสแตนซ์ HttpsProxyAgent หรือ ProxyAgent เพียงครั้งเดียวต่อหนึ่ง IP นอกลูป เพื่อนำซ็อกเก็ต TCP keep-alive กลับมาใช้ซ้ำได้อย่างมีประสิทธิภาพ
  • ส่งออกรายการพร็อกซี VinaProxy เป็น JSON Array โดยตรงผ่าน เครื่องมือแปลงรูปแบบพร็อกซี ของเรา

ขั้นตอนทีละขั้น

  1. 1

    ติดตั้ง https-proxy-agent (หรือ undici)

    รันคำสั่ง npm install axios https-proxy-agent ในโฟลเดอร์โปรเจกต์ Node.js ของคุณ

  2. 2

    สร้างอินสแตนซ์ HttpsProxyAgent

    เริ่มต้นด้วย const agent = new HttpsProxyAgent('http://user:pass@ip:port'); โดยใช้ข้อมูลจาก VinaProxy

  3. 3

    ส่ง httpsAgent และ proxy: false ไปยัง Axios

    เรียกใช้งาน const res = await axios.get('https://vinaproxy.com/api/my-ip', { httpsAgent: agent, proxy: false, timeout: 10000 });

  4. 4

    ตรวจสอบ IP ขาออก

    พิมพ์ค่า res.data เพื่อยืนยันว่าการตอบกลับส่งผ่านหมายเลข IP พร็อกซีเฉพาะของคุณเรียบร้อยแล้ว

คำถามที่พบบ่อย

ทำไมตัวเลือก proxy: { host, port, auth } ดั้งเดิมของ Axios ถึงใช้งานกับ HTTPS ไม่ได้?

เพราะการตั้งค่าเริ่มต้นของ Axios จะส่งคำขอแบบ HTTP ธรรมดาโดยไม่ยอมเปิดทันเนล TLS แบบ HTTP CONNECT การเปลี่ยนมาใช้ httpsAgent: new HttpsProxyAgent('http://user:pass@ip:port') ร่วมกับ proxy: false จะแก้ไขปัญหานี้ได้อย่างสมบูรณ์

ใช้งานพร็อกซีร่วมกับคำสั่ง fetch() ดั้งเดิมใน Node.js 18/20/22 อย่างไร?

นำเข้า ProxyAgent จากแพ็กเกจ undici แล้วส่ง { dispatcher: new ProxyAgent('http://user:pass@ip:port') } ในออบเจกต์ตัวเลือกของ fetch()

สามารถแปลงรายการพร็อกซีเป็นไฟล์ JSON สำหรับ Node.js ได้หรือไม่?

ได้ นำรายการ ip:port:user:pass มาวางใน เครื่องมือแปลงรูปแบบพร็อกซี ฟรีของเรา แล้วเลือกเอาต์พุตเป็น JSON

เสริมความแข็งแกร่งให้แบ็กเอนด์และบอท Node.js ด้วย IP แบบคงที่ส่วนตัว

Dedicated IPv4 และ Static ISP พร็อกซีไม่จำกัดการใช้งาน ครอบคลุม 7 ประเทศทั่วโลก

ซื้อพร็อกซีสำหรับ Node.js

บทความที่เกี่ยวข้อง

พร็อกซีตามแพลตฟอร์ม
พร็อกซีสำหรับ Web Scraping: พูล IPv4 และ ISP แบบเฉพาะไม่จำกัด สำหรับบอทดูดข้อมูล 24/7
พร็อกซี HTTP(S) IPv4 แบบเฉพาะและ ISP แบบคงที่ความเร็วสูงสำหรับ Python, Playwright, Selenium และ Scrapy พร้อมแบนด์วิดท์รายเดือนไม่จำกัด
วิธีตั้งค่าพร็อกซี
วิธีตั้งค่าพร็อกซีพร้อมยืนยันตัวตนใน Puppeteer (Node.js)
วิธีกำหนดค่า HTTP(S) proxy พร้อมการยืนยันตัวตนใน Node.js Puppeteer ด้วยแฟล็ก --proxy-server และเมธอด await page.authenticate()
วิธีตั้งค่าพร็อกซี
วิธีตั้งค่าพร็อกซีใน Playwright (การยืนยันตัวตนระดับเบราว์เซอร์และราย Context)
กำหนดค่า HTTP(S) proxy พร้อมการยืนยันตัวตนใน Playwright สำหรับ Node.js และ Python ใช้งานหลาย IP แบบคงที่แยกจากกันบน BrowserContext
เครื่องมือฟรี
เครื่องมือแปลงรูปแบบพร็อกซีแบบกลุ่ม (ประมวลผลบนเบราว์เซอร์ ปลอดภัย 100%)
เครื่องมือจัดรูปแบบรายการพร็อกซีจำนวนมากบนเบราว์เซอร์ 100% แปลงระหว่าง ip:port:user:pass, user:pass@ip:port, http:// URL, SOCKS5 URI, JSON array และ FoxyProxy ได้ทันที
พร็อกซีตามแพลตฟอร์ม
พร็อกซีสำหรับ SEO และติดตามอันดับ SERP: แสดงอันดับคำค้นหาที่แม่นยำใน 7 ประเทศ
ติดตามอันดับคีย์เวิร์ดระดับท้องถิ่น ตรวจสอบการเปลี่ยนเส้นทางตามพิกัดภูมิศาสตร์ และรัน Screaming Frog ด้วยพร็อกซี IPv4 แบบเฉพาะและ ISP แบบคงที่ไม่จำกัดแบนด์วิดท์
พร็อกซีตามแพลตฟอร์ม
พร็อกซีสำหรับ Discord: แยกบัญชีและโทเคนไว้บน IP คงที่เฉพาะ
ปกป้องบัญชี Discord และโทเคนหลายบัญชีจากการล็อกยืนยันเบอร์โทรและการบล็อกของ Cloudflare พร็อกซีคงที่เฉพาะในสหรัฐฯ สิงคโปร์ และเวียดนาม
IPV4 · united states
พร็อกซี IPv4 สหรัฐฯ ส่วนตัว: IP ดาต้าเซ็นเตอร์อเมริกาความเร็วสูงเฉพาะคุณ
พร็อกซี IPv4 ส่วนตัวสหรัฐฯ สำหรับดึงข้อมูล เช็กอันดับ ตรวจสอบโฆษณา และรีเสิร์ช Amazon มี IP คงที่ ใช้คนเดียว แบนด์วิดท์ไม่จำกัด เปิดใช้งานไว
IPV4 · singapore
พร็อกซี IPv4 ส่วนตัวสิงคโปร์: IP สิงคโปร์ความเร็วสูงเฉพาะคุณสำหรับร้านค้าและโฆษณา
พร็อกซี IPv4 สิงคโปร์ส่วนตัวสำหรับร้าน Lazada, Shopee SG, บัญชีโฆษณา และระบบบอทความหน่วงต่ำ เป็น IP เฉพาะ แบนด์วิดท์ไม่จำกัด