# 401 Unauthorized กับ 407 Proxy Authentication Required

> 401 Unauthorized มาจากเว็บไซต์ 407 มาจาก proxy วิธีแยกแยะใน Python, curl และ Node และวิธีแก้แต่ละอย่าง

- URL: https://crawlrelay.com/th/docs/errors/401-unauthorized/
- อัปเดตล่าสุด: 2026-10-13
- Publisher: CrawlRelay (https://crawlrelay.com)

รหัสสถานะ HTTP (4xx, ข้อผิดพลาดของไคลเอนต์): ข้อความผิดพลาดที่แม่นยำในแต่ละเครื่องมือ สาเหตุที่เป็นไปได้ตามลำดับ และวิธีแก้ไขที่ใช้งานได้

**คำตอบด่วน — 401 Unauthorized vs 407 หมายความว่าอย่างไรกับพร็อกซี?**

**401 Unauthorized มาจากเว็บไซต์; ส่วน 407 มาจาก proxy.** หากคุณใช้ CrawlRelay residential proxy แล้วเจอ 401 แปลว่า proxy ยอมรับคุณแล้วและเว็บไซต์ถามหาการเข้าสู่ระบบของตัวเองหรือกุญแจ API ข้อมูลรับรอง proxy ไม่ช่วยตรงนี้ แก้ไข 407 ใน URL proxy ของคุณ และจัดการ 401 ตามกฎของเว็บไซต์สำหรับเนื้อหาที่ป้องกัน

## 401 Unauthorized vs 407 แบบสั้นๆ

| คุณลักษณะ | ค่า |
| --- | --- |
| ข้อผิดพลาด | 401 Unauthorized vs 407 |
| ประเภท | รหัสสถานะ HTTP (4xx, ข้อผิดพลาดของไคลเอนต์) |
| ส่งโดย | เว็บไซต์เป้าหมาย ไม่ใช่ proxy |
| กำหนดไว้ใน | RFC 9110, section 15.5.2 (compare 407: section 15.5.8) |
| ลองใหม่อีกครั้งไหม? | ไม่ใช่ 401 ขอข้อมูลรับรองสำหรับเว็บไซต์เอง |
| ตรวจสอบก่อน | ตรวจสอบว่าเซิร์ฟเวอร์ใดส่ง: เว็บไซต์ (401) หรือ proxy (407) |

## 401 Unauthorized vs 407 หมายความว่าอย่างไร?

RFC 9110 จับคู่สองรหัสนี้ 401 มี header `WWW-Authenticate` และขอข้อมูลรับรองสำหรับเซิร์ฟเวอร์ต้นทาง 407 มี header `Proxy-Authenticate` และขอข้อมูลรับรองสำหรับ proxy คำตอบใส่ใน header ต่างกันด้วย `Authorization` สำหรับเว็บไซต์ และ `Proxy-Authorization` สำหรับ proxy

สับสนบ่อยเพราะทั้งคู่มีคำว่า 'authentication' วิธีทดสอบเร็วคือรหัสสถานะเอง: 401 หมายความว่าคุณผ่าน proxy ไปได้แล้ว

## a 401 เป็นอย่างไรใน Python, curl, Node.js และเบราว์เซอร์?

ข้อผิดพลาดเดียวกันนี้แสดงผลแตกต่างกันในแต่ละเครื่องมือ นี่คือข้อความที่ต้องค้นหาในบันทึกของคุณ:

- **Python requests:** `status_code == 401` พร้อม header `WWW-Authenticate` (เว็บไซต์) เทียบกับ `ProxyError` ที่บอก 407 (proxy)
- **curl:** `HTTP/2 401` หลังจาก `CONNECT` สำเร็จ (เว็บไซต์) เทียบกับ `CONNECT tunnel failed, response 407` (proxy)
- **API:** มี body JSON เช่น `{"message": "Unauthorized"}` หรือข้อความ token ไม่ถูกต้อง

## อะไรเป็นสาเหตุของ a 401?

โอกาสสูงสุดอันดับแรก:

- **หน้าหรือ API ต้องการล็อกอินหรือตัวกุญแจ.** เว็บไซต์ถาม ไม่ใช่ proxy
- **ข้อมูลรับรอง proxy อยู่ผิดที่**, เช่น header `Authorization` ที่ส่งไป proxy แต่ถูกเว็บไซต์ปฏิเสธ
- **คุกกี้ session หรือ token หมดอายุ** ในขั้นตอนหลายขั้น
- **token ผูกกับ IP หรือภูมิภาค** ดังนั้นจุดออกใหม่ทำให้ token ไม่ถูกต้อง

## ฉันวินิจฉัย a 401 ทีละขั้นตอนอย่างไร?

1. ยืนยันรหัส: 401 คือเว็บไซต์ 407 คือ proxy
2. ทำการทดสอบ curl ด้านล่าง ถ้าเห็น `HTTP/1.1 200 Connection established` ก่อน 401 แปลว่า proxy ใช้งานได้
3. ตรวจสอบว่า URL เดียวกันต้องล็อกอินในเบราว์เซอร์ปกติหรือไม่
4. ในขั้นตอนหลายขั้นดูว่า 401 เริ่มเมื่อเปลี่ยน IP จุดออกหรือไม่

*ทดสอบ URL ที่ล้มเหลวด้วย curl (พอร์ต HTTP, โหมดละเอียด)*

```bash
# Use the URL that fails; with https://api.ipify.org instead, you test the gateway alone.
# "HTTP/1.1 200 Connection established" first, then the site's own status: the site answered.
curl -v -x http://USERNAME:PASSWORD@gw.crawlrelay.com:7777 https://TARGET_URL

# Same test through the SOCKS5 port, with DNS resolved at the exit
curl -v --socks5-hostname gw.crawlrelay.com:7778 --proxy-user USERNAME:PASSWORD https://TARGET_URL
```

## ฉันจะแก้ไข a 401 อย่างไร?

- **สำหรับปัญหา proxy (407)** ให้ใส่ข้อมูลรับรองใน URL proxy หรือการตั้งค่า proxy ของไคลเอนต์ ไม่ใส่ใน header `Authorization`
- **สำหรับ API สาธารณะที่ต้องกุญแจ** ลงทะเบียนกับเว็บไซต์และส่งกุญแจตามเอกสาร
- **สำหรับ session ผูกกับ IP** ใช้ sticky session ตลอดการใช้งาน
- **เนื้อหาอยู่หลังการล็อกอิน** ตรวจสอบข้อกำหนดเว็บไซต์ก่อนทำอัตโนมัติ การเก็บข้อมูลบัญชีที่ไม่ใช่ของคุณหรือข้อมูลส่วนตัวหลังล็อกอินผิดนโยบายการใช้งานที่รับได้ของเรา

## ฉันควรลองใหม่หลังจาก a 401 ไหม?

อย่าลองใหม่กับ 401 แบบไม่คิด มันขอข้อมูลบางอย่างที่คำร้องของคุณไม่มี รีเฟรช token หรือ session หากขั้นตอนของคุณมี แล้วลองอีกครั้ง 1 ครั้ง ถ้า 401 ซ้ำแปลว่าเนื้อหาไม่เปิดเผยสาธารณะ หรือการเข้าถึงของคุณหมดแล้ว

## 401 Unauthorized vs 407 มีผลอย่างไรกับ CrawlRelay?

HTTP proxy รายงานปัญหาข้อมูลรับรองของตนเองด้วย 407 หรือ tunnel ล้มเหลว ไม่ใช่ 401 ถ้าเจอ 401 ขณะใช้เกตเวย์ CrawlRelay คือคำร้องถึงเว็บไซต์แล้ว ซึ่งช่วยจำกัดปัญหาได้เร็ว

เกตเวย์: `gw.crawlrelay.com`, พอร์ต 7777 (HTTP, HTTPS ผ่าน CONNECT) และพอร์ต 7778 (SOCKS5). รูปแบบชื่อผู้ใช้: `USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}`. ที่เกี่ยวข้อง: [407 Proxy Authentication Required](https://crawlrelay.com/th/docs/errors/407-proxy-authentication-required/) · [403 Forbidden](https://crawlrelay.com/th/docs/errors/403-forbidden/) · [Sessions guide](https://crawlrelay.com/th/docs/sessions/).

## 401 Unauthorized vs 407: คำถามที่นักพัฒนาถาม

### ทำไมได้ 401 ทั้งที่รหัสผ่าน proxy ถูกต้อง?

เพราะ 401 เกี่ยวกับเว็บไซต์ ไม่ใช่ proxy การเข้าสู่ระบบ proxy ของคุณผ่านแล้ว และเว็บไซต์ต้องการข้อมูลรับรองของตัวเอง เช่น กุญแจ API คุกกี้ล็อกอิน หรือ token ตรวจสอบเอกสารเว็บไซต์ ถ้าเนื้อหาอยู่หลังการล็อกอินที่คุณไม่มีสิทธิ์ อย่าอัตโนมัติ

### sticky session แก้ 401 ได้ไหม?

บางครั้ง บางเว็บไซต์ผูก session หรือ token กับ IP ที่สร้าง ดังนั้นจุดออกใหม่ทำให้ token ไม่ถูกต้องและเว็บไซต์ตอบ 401 เก็บ sticky session เดียวตลอดขั้นตอนช่วยได้ แต่มันไม่ช่วยถ้าเนื้อหาต้องการข้อมูลรับรองที่คุณไม่มี

### ข้อมูลรับรอง proxy อยู่ในคำร้อง HTTP ตรงไหน?

ใน header `Proxy-Authorization` ที่ไคลเอนต์ของคุณสร้างจากส่วน `user:password@` ของ URL proxy เว็บไซต์ไม่เห็น header นี้เพราะ proxy เอาออก ข้อมูลรับรองเว็บไซต์ใส่ใน header `Authorization` หรือคุกกี้ที่ proxy ผ่านให้โดยไม่เปลี่ยนแปลง

## ข้อผิดพลาดพร็อกซีอื่นๆ ในเอกสารอ้างอิงนี้

- [401 Unauthorized vs 407](https://crawlrelay.com/th/docs/errors/401-unauthorized/)
- [403 Forbidden](https://crawlrelay.com/th/docs/errors/403-forbidden/)
- [407 Proxy Authentication Required](https://crawlrelay.com/th/docs/errors/407-proxy-authentication-required/)
- [429 Too Many Requests](https://crawlrelay.com/th/docs/errors/429-too-many-requests/)
- [502 Bad Gateway](https://crawlrelay.com/th/docs/errors/502-bad-gateway/)
- [503 Service Unavailable](https://crawlrelay.com/th/docs/errors/503-service-unavailable/)
- [504 Gateway Timeout](https://crawlrelay.com/th/docs/errors/504-gateway-timeout/)
- [Cannot connect to proxy (ProxyError)](https://crawlrelay.com/th/docs/errors/cannot-connect-to-proxy/)
- [Connection reset by peer (ECONNRESET)](https://crawlrelay.com/th/docs/errors/connection-reset/)
- [ERR_PROXY_CONNECTION_FAILED](https://crawlrelay.com/th/docs/errors/err-proxy-connection-failed/)
- [ERR_TUNNEL_CONNECTION_FAILED](https://crawlrelay.com/th/docs/errors/err-tunnel-connection-failed/)
- [Read timed out (ReadTimeout)](https://crawlrelay.com/th/docs/errors/read-timeout/)
- [SOCKS5 proxy errors](https://crawlrelay.com/th/docs/errors/socks5-proxy-errors/)
- [SSL: CERTIFICATE_VERIFY_FAILED](https://crawlrelay.com/th/docs/errors/ssl-certificate-verify-failed/)
- [SSL: WRONG_VERSION_NUMBER](https://crawlrelay.com/th/docs/errors/ssl-wrong-version-number/)

**พร็อกซีเรซิเดนเชียลที่มีเอกสารอธิบายกรณีล้มเหลว** พร็อกซีเรซิเดนเชียล CrawlRelay จาก US$0.50/GB, ปริมาณข้อมูลที่ไม่หมดอายุ [ดูราคา](https://crawlrelay.com/th/pricing/) · [เริ่มต้นอย่างรวดเร็ว](https://crawlrelay.com/th/docs/)

---

CrawlRelay: CrawlRelay คือพร็อกซีเรซิเดนเชียลหมุนเวียนพร้อมพร็อกซีมือถือ 4G/5G สำหรับนักพัฒนา เหมาะกับสแครปเปอร์และระบบจัดการข้อมูล AI: เติมเงินจ่ายตามการใช้งานจาก US$0.50/GB จ่ายด้วยคริปโต ไม่ต้องอัปโหลดบัตรประชาชน ไม่ต้อง KYC — ไม่ต้องใช้บัตรประชาชน ไม่ต้องถ่ายเซลฟี่ ไม่ต้องใช้เอกสาร จ่ายด้วยคริปโต
