# 407 Proxy Authentication Required: ความหมายและวิธีแก้ไข

> HTTP 407 Proxy Authentication Required หมายความว่าพร็อกซีปฏิเสธหรือไม่ได้รับข้อมูลประจำตัวของคุณ ข้อความแสดงความผิดพลาดที่ชัดเจนใน Python, curl, Node และวิธีแก้ไข

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

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

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

**407 Proxy Authentication Required** หมายความว่าพร็อกซีปฏิเสธคำร้องของคุณเนื่องจากไม่ได้รับข้อมูลประจำตัวหรือได้ข้อมูลประจำตัวผิด เว็บไซต์เป้าหมายไม่ถูกติดต่อเลย ด้วยพร็อกซีที่อยู่อาศัยของ CrawlRelay ให้ตรวจสอบสามอย่าง: ชื่อผู้ใช้ต้องตรงกับที่แสดงบนแดชบอร์ด รหัสผ่านต้องถูกต้อง และตัวอักษรพิเศษใดๆ ในชื่อผู้ใช้หรือรหัสผ่านต้องเข้ารหัส URL การลองส่งคำร้องเดิมซ้ำๆ จะไม่แก้ปัญหา 407 นี้

## 407 Proxy Authentication Required แบบสั้นๆ

| คุณลักษณะ | ค่า |
| --- | --- |
| ข้อผิดพลาด | 407 Proxy Authentication Required |
| ประเภท | รหัสสถานะ HTTP (4xx, ข้อผิดพลาดของไคลเอนต์) |
| ส่งโดย | พร็อกซีเกตเวย์ ไม่ใช่เว็บไซต์เป้าหมาย |
| กำหนดไว้ใน | RFC 9110, section 15.5.8 (headers: Proxy-Authenticate 11.7.1, Proxy-Authorization 11.7.2) |
| ลองใหม่อีกครั้งไหม? | ไม่ ได้รับการยืนยันข้อมูลประจำตัวเดิมล้มเหลวอีกครั้ง แก้ไขข้อมูลเหล่านั้นก่อน |
| ตรวจสอบก่อน | รันการทดสอบ curl ด้านล่างโดยใช้ชื่อผู้ใช้งานเปล่าๆ และไม่มีพารามิเตอร์กำหนดเป้าหมาย |

## 407 Proxy Authentication Required หมายความว่าอย่างไร?

รหัส 407 มาจากพร็อกซี ไม่ใช่จากเว็บไซต์ที่คุณต้องการเข้าถึง RFC 9110 อธิบายว่าเป็นเวอร์ชันของพร็อกซีที่เหมือนกับ 401: ไคลเอนต์ต้องยืนยันตัวตนกับพร็อกซี ก่อนที่อะไรอื่นจะเกิดขึ้น พร็อกซีจะส่งหัวข้อ `Proxy-Authenticate` ที่ระบุแบบแผนที่ยอมรับ ซึ่งเกือบจะเป็น `Basic` เสมอ ลูกค้าของคุณจะตอบกลับด้วยหัวข้อ `Proxy-Authorization` ที่บรรจุ `username:password` ซึ่งเข้ารหัส Base64

สำหรับเป้าหมาย HTTPS รหัส 407 จะมาทันทีที่ตอบกลับคำร้อง `CONNECT` เพื่อเปิดอุโมงค์ นั่นจึงเป็นเหตุผลที่ไลบรารีหลายตัวรายงานเป็นปัญหาอุโมงค์หรือปัญหาการเชื่อมต่อ แทนที่จะเป็นรหัสสถานะ HTTP: เซสชัน TLS กับเว็บไซต์ไม่เคยเริ่มต้นเลย

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

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

- **Python requests:** `ProxyError('Unable to connect to proxy', OSError('Tunnel connection failed: 407 Proxy Authentication Required'))`
- **curl:** `curl: (56) CONNECT tunnel failed, response 407`
- **Scrapy:** `TunnelError: Could not open CONNECT tunnel with proxy ... [{'status': 407, 'reason': b'Proxy Authentication Required'}]`
- **Chrome, Playwright, Puppeteer:** `net::ERR_TUNNEL_CONNECTION_FAILED` หรือป๊อปอัพเข้าสู่ระบบในเบราว์เซอร์ที่มองเห็นได้
- **ไคลเอนต์ Node.js บนเป้าหมาย http://:** `Request failed with status code 407`

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

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

- **ชื่อผู้ใช้หรือรหัสผ่านผิด.** พิมพ์ผิด ใช้รหัสผ่านเก่าหลังรีเซ็ต หรือข้อมูลประจำตัวของผู้ใช้ย่อยคนอื่น
- **ตัวอักษรพิเศษไม่ถูกเข้ารหัส.** รหัสผ่านที่มี `@`, `:`, `/` หรือ `#` ทำให้ URL `user:pass@host` เสีย ต้องเข้ารหัสเปอร์เซ็นต์ เช่น `@` กลายเป็น `%40`, `:` กลายเป็น `%3A`
- **ส่วนต่อท้ายกำหนดเป้าหมายเสียหาย.** เกตเวย์ที่อ่านการกำหนดเป้าหมายจากชื่อผู้ใช้จะเห็นชื่อผู้ใช้ยาวๆ ตัวอักษรผิดพลาดในคีย์หรือรหัสประเทศจะทำให้เป็นชื่อผู้ใช้ที่พร็อกซีไม่รู้จัก
- **ข้อมูลประจำตัวที่ไม่ถูกส่งออกจากโค้ดคุณ.** Chrome จะละเว้นชื่อผู้ใช้และรหัสผ่านที่เขียนใน `--proxy-server` Puppeteer ต้องมี `page.authenticate()` และ Selenium ต้องใช้ตัวส่งต่อภายในเครื่อง
- **ยอดเงินว่างเปล่า.** ตรวจสอบว่าบัญชียังมีทราฟฟิกเหลือก่อนดีบักโค้ด

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

1. ทดสอบข้อมูลประจำตัวกับ curl โดยไม่มีการกำหนดเป้าหมายเลย (คำสั่งด้านล่าง) บรรทัด `HTTP/1.1 407` ในผลลัพธ์ verbose ยืนยันปัญหาข้อมูลประจำตัว
2. เพิ่มพารามิเตอร์กำหนดเป้าหมายกลับเข้าไปทีละตัว พร้อมทดสอบใหม่ทุกครั้ง
3. บันทึก URL พร็อกซีที่โปรแกรมของคุณสร้างจริง พร้อมปิดบังรหัสผ่าน และเปรียบเทียบกับแดชบอร์ดทีละตัวอักษร
4. ถ้า curl ผ่านแต่โปรแกรมคุณล้มเหลว แสดงว่าไลบรารีไม่ส่งข้อมูลประจำตัว อ่านวิธีแก้ไขสำหรับเครื่องมือคุณด้านล่าง

*ทดสอบ 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 407 อย่างไร?

- **เข้ารหัสข้อมูลประจำตัว** ด้วย `urllib.parse.quote(value, safe='')` ใน Python หรือ `encodeURIComponent()` ใน JavaScript ก่อนสร้าง URL
- **เบราว์เซอร์:** ส่ง `username` และ `password` ในตัวเลือก `proxy` ของ Playwright เรียกใช้ `page.authenticate()` ใน Puppeteer และใช้ตัวส่งต่อในเครื่องสำหรับ Selenium ดูคำแนะนำ [Playwright](https://crawlrelay.com/th/docs/playwright/) และ [Puppeteer](https://crawlrelay.com/th/docs/puppeteer/)
- **ตัวแปรแวดล้อม:** หากกำหนด `HTTPS_PROXY` ให้ใส่ค่าในเครื่องหมายคำพูดทั้งหมดในเชลล์เพื่อให้ `@` และ `$` คงอยู่
- **หมุนรหัสผ่าน** ในแดชบอร์ดถ้าคิดว่ารั่ว จากนั้นอัปเดตทุก scraper ที่ใช้

*Python: สร้าง URL ของพร็อกซีพร้อมรหัสผ่านแบบเข้ารหัส*

```python
from urllib.parse import quote

import requests

user = "USERNAME-country-us"
password = "p@ss:word/1"  # example containing special characters

# safe="" also encodes "/", "@" and ":" inside the credentials
proxy = "http://{}:{}@gw.crawlrelay.com:7777".format(
    quote(user, safe=""), quote(password, safe="")
)
proxies = {"http": proxy, "https": proxy}  # http:// for both keys

r = requests.get("https://api.ipify.org", proxies=proxies, timeout=(10, 30))
print(r.status_code, r.text)
```

*Playwright (Python): กรอกข้อมูลรับรองเป็นช่องแยกต่างหาก*

```python
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(proxy={
        "server": "http://gw.crawlrelay.com:7777",
        "username": "USERNAME-country-us",
        "password": "PASSWORD",
    })
    page = browser.new_page()
    response = page.goto("https://api.ipify.org")
    print(response.status, page.inner_text("body"))
    browser.close()
```

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

อย่าลองซ้ำ 407 อัตโนมัติ การลองซ้ำด้วยข้อมูลประจำตัวเดิมจะได้คำตอบเดิม และการลองซ้ำถี่ๆ จะทำให้บันทึกของคุณเต็ม ให้ถือ 407 เป็นข้อผิดพลาดการตั้งค่า: หยุดงาน แก้ไขข้อมูลประจำตัว และเริ่มใหม่ ถ้า 407 ปรากฏขึ้นทันทีในงานที่ใช้งานได้มาหลายวัน แสดงว่ารหัสผ่านอาจถูกเปลี่ยนหรือผู้ใช้ย่อยถูกปิดใช้งาน

## 407 Proxy Authentication Required มีผลอย่างไรกับ CrawlRelay?

เกตเวย์ CrawlRelay อ่านชื่อผู้ใช้และรหัสผ่านในทุกการเชื่อมต่อใหม่ การกำหนดเป้าหมายและการตั้งค่าเซสชันอยู่ในชื่อผู้ใช้ ดังนั้นรหัสผ่านที่ถูกต้องอาจล้มเหลวเมื่อส่วนต่อท้ายเสียหาย สร้างชื่อผู้ใช้ในฟังก์ชันช่วยเหลือเดียวและบันทึกผลลัพธ์เมื่อเริ่มต้น ดู [หน้าคู่มือเริ่มต้นอย่างรวดเร็ว](https://crawlrelay.com/th/docs/) ที่แสดงรูปแบบที่ถูกต้อง

เกตเวย์: `gw.crawlrelay.com`, พอร์ต 7777 (HTTP, HTTPS ผ่าน CONNECT) และพอร์ต 7778 (SOCKS5). รูปแบบชื่อผู้ใช้: `USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}`. ที่เกี่ยวข้อง: [401 กับ 407](https://crawlrelay.com/th/docs/errors/401-unauthorized/) · [ERR_TUNNEL_CONNECTION_FAILED](https://crawlrelay.com/th/docs/errors/err-tunnel-connection-failed/) · [ไม่สามารถเชื่อมต่อกับพร็อกซี](https://crawlrelay.com/th/docs/errors/cannot-connect-to-proxy/).

## 407 Proxy Authentication Required: คำถามที่นักพัฒนาถาม

### 407 ถูกส่งโดยเว็บไซต์ที่ฉันกำลังขูดข้อมูลหรือไม่?

ไม่ 407 จะถูกส่งโดยพร็อกซีที่อยู่ระหว่างคุณกับเว็บไซต์ คำร้องไม่เคยถึงเว็บไซต์ จึงไม่สามารถเห็นนับ หรือบล็อกทราฟฟิกของคุณได้ ถ้าเว็บไซต์ต้องการล็อกอิน จะตอบ 401 แทน แก้ไขข้อมูลประจำตัวพร็อกซีเพื่อให้ 407 หายไป

### ทำไมโค้ดของฉันถึงได้รับ 407 เมื่อ curl ใช้พร็อกซีเดียวกันได้?

ไลบรารีของคุณไม่ส่งข้อมูลประจำตัว หรือส่งในรูปแบบต่างกัน สาเหตุทั่วไปคือข้อมูลประจำตัวถูกพิมพ์ในธงเบราว์เซอร์ที่ละเว้นมัน ตัวแปรแวดล้อมสูญเสียตัวอักษรพิเศษ หรือรหัสผ่านไม่ถูกเข้ารหัส URL แสดง URL พร็อกซีที่โค้ดคุณสร้าง พร้อมปิดบังรหัสผ่าน และเปรียบเทียบกับคำสั่ง curl

### 407 ใช้ทราฟฟิกจากแผนของฉันหรือไม่?

คำตอบ 407 มีขนาดไม่กี่ร้อยไบต์ และคำร้องไม่เคยถึงเป้าหมาย จึงไม่มีการดาวน์โหลดหน้าเว็บ ค่าใช้จ่ายอยู่ที่อื่น: scraper ที่ติดอยู่ในลูปลอง 407 จะเสียเวลาและเติมบันทึกของคุณ ทำให้ 407 เป็นจุดหยุดหนักในการจัดการข้อผิดพลาด

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

- [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 — ไม่ต้องใช้บัตรประชาชน ไม่ต้องถ่ายเซลฟี่ ไม่ต้องใช้เอกสาร จ่ายด้วยคริปโต
