Hızlı cevap
Konut proxy ile 401 Unauthorized vs 407 ne anlama gelir?
401 Yetkisiz web sitesinden gelir; 407 proxy’den gelir. CrawlRelay yerleşik proxyler üzerinden kazırken 401 alırsanız, proxy kabul etti ama web sitesi kendi girişini veya API anahtarını istiyor demektir. Proxy kimlik bilgeleri burada işe yaramaz. 407’yi proxy URL’nizde düzeltin, 401’i ise ilgili site kurallarına göre yönetin.
401 Unauthorized vs 407 hızlı bakış
| Hata | 401 Unauthorized vs 407 |
|---|---|
| Tür | HTTP durum kodu (4xx, istemci hatası) |
| Gönderen | Hedef web sitesi, asla proxy değil |
| Tanımlandığı yer | RFC 9110, section 15.5.2 (compare 407: section 15.5.8) |
| Tekrar denemek ister misiniz? | Hayır. 401, doğrudan web sitesinin kimlik bilgilerini ister |
| İlk kontrol | Hangi sunucunun bunu gönderdiğini kontrol edin: web sitesi (401) mi yoksa proxy (407) mi |
401 Unauthorized vs 407 ne anlama gelir?
RFC 9110 bu iki kodu eşler. 401 WWW-Authenticate başlığı taşır ve orijin sunucu için kimlik bilgisi ister. 407 ise Proxy-Authenticate başlığı taşır ve proxy için kimlik bilgisi talep eder. Yanıtlar da farklı başlıklara gider: Authorization site için, Proxy-Authorization proxy için.
Karışması yaygındır çünkü ikisi de "kimlik doğrulama" der. En hızlı test durum kodudur: 401 demek proxy'den geçtiniz anlamındadır.
Python, curl, Node.js ve tarayıcılarda a 401 nasıl görünür?
Aynı başarısızlık her araçta farklı şekilde görünür. Loglarınızda aramanız gereken mesajlar şunlardır:
- Python requests:
status_code == 401ileWWW-Authenticatebaşlığı (site) ve 407 belirtenProxyError(proxy) - curl: Başarılı
CONNECT(site) sonrasıHTTP/2 401ile, proxy içinCONNECT tunnel failed, response 407 - API'ler:
{"message": "Unauthorized"}gibi JSON gövdesi veya geçersiz-token mesajı
a 401 neden olur?
Öncelikle en olası sebep:
- Sayfa veya API giriş veya anahtar gerektirir. Site, proxy değil, ister.
- Proxy kimlik bilgileri yanlış yerde, örneğin proxy için olan
Authorizationbaşlığında ve site tarafından reddedilir. - Süresi dolmuş oturum çerezi veya token çok adımlı bir akışta.
- IP veya bölgeye bağlı token, yeni çıkış bunu geçersiz kılar.
a 401 nasıl adım adım teşhis edilir?
- Kodu doğrulayın: 401 site, 407 proxy.
- Aşağıdaki curl testini çalıştırın. 401 öncesi
HTTP/1.1 200 Connection establishedgörürseniz, proxy sağlamdır. - Aynı URL’nin normal tarayıcıda giriş ister mi bakın.
- Çok adımlı bir akışta çıkış IP değişince 401 başlıyor mu kontrol edin.
# 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:[email protected]: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_URLa 401 nasıl düzeltilir?
- Proxy sorunları (407) için kimlik bilgilerini proxy URL’sine veya istemci proxy ayarlarına koyun, asla
Authorizationbaşlığına değil. - Anahtar gerektiren genel API için siteye kayıt olun ve belgelenene uygun anahtarı gönderin.
- IP’ye bağlı oturumlar için, tüm akış boyunca yapışkan oturum (sticky session) kullanın.
- Giriş gerektiren korumalı içerik için, otomasyon öncesi sitenin kullanım şartlarını kontrol edin. Size ait olmayan hesapları veya girişli kişisel verileri kazımak Kabul Edilebilir Kullanım Politikamız dışındadır.
a 401 sonrası tekrar denenmeli mi?
401’i körü körüne yeniden denemeyin. İstemcinizde olmayan bir şeyi ister. Eğer akışta bir token veya oturum varsa yenileyin, sonra bir kez deneyin. Tekrarlayan 401’ler içerik kamuya açık değil veya erişiminiz sona erdi anlamına gelir.
401 Unauthorized vs 407 CrawlRelay için nasıl geçerli?
Bir HTTP proxy kendi kimlik doğrulama sorunlarını 407 veya başarısız tünel ile bildirir, 401 ile değil. CrawlRelay gateway kullanırken 401 görüyorsanız, isteğiniz web sitesine ulaşmıştır, bu problemi hızlıca daraltır.
Gateway: gw.crawlrelay.com, port 7777 (HTTP, HTTPS CONNECT üzerinden) ve port 7778 (SOCKS5). Kullanıcı adı formatı: USERNAME-country-{cc}-state-{state}-city-{city}-zip-{zip}-asn-{asn}-session-{id}-ttl-{minutes}. İlgili: 407 Proxy Authentication Required · 403 Forbidden · Sessions guide.
401 Unauthorized vs 407: geliştiricilerin sorduğu sorular
Proxy şifrem doğruyken neden 401 alıyorum?
Çünkü 401 siteyle ilgilidir, proxyyle değil. Proxy girişiniz çalıştı, site kendi kimlik bilgilerini (API anahtarı, giriş çerezi veya token gibi) ister. Sitelerin dokümantasyonunu kontrol edin. İçerik giriş gerektiriyorsa ve sizin buna yetkiniz yoksa, otomatikleştirmeyin.
Yapışkan oturum 401 hatalarını düzeltebilir mi?
Bazen. Bazı siteler oturumu veya token'ı yaratan IP'ye bağlar, yeni çıkış token'ı geçersiz kılar ve site 401 döner. Tüm akış için bir yapışkan oturum bu durumu önler. Ancak içerik sizin kimlik bilgilerinizi gerektiriyorsa işe yaramaz.
Proxy kimlik bilgileri HTTP isteğinde nereye gider?
Proxy URL’sinin user:password@ bölümünden istemcinizin oluşturduğu Proxy-Authorization başlığında. Site bu başlığı hiç görmez çünkü proxy kaldırır. Site kimlik bilgileri Authorization başlığına veya bir çereze gider, proxy bunları değiştirmeden geçirir.
Bu referanstaki diğer proxy hataları
HTTP durum kodları
- 401 Unauthorized vs 407
- 403 Forbidden
- 407 Proxy Authentication Required
- 429 Too Many Requests
- 502 Bad Gateway
- 503 Service Unavailable
- 504 Gateway Timeout
Tarayıcı ve istemci hataları
Bağlantı ve TLS hataları
Başarısızlık durumları için dokümanlı konut proxy'ler
$0,50/GB sitesinden süresi hiç bitmeyen CrawlRelay konut proxy