KYC olmadan — kimlik, selfie veya belge istemez. Kripto ile ödeyin: BTC, USDT, USDC, ETH, SOL, LTC
Dil: Türkçe
Başlayın

Proxy hata referansı · HTTP durum kodları

407 Proxy Authentication Required: ne anlama gelir ve nasıl çözülür

HTTP durum kodu (4xx, istemci hatası): her araçta tam hata mesajı, olası nedenler sırasıyla ve işe yarayan çözüm.

Son güncelleme: · 5 dk okuma

Hızlı cevap

Konut proxy ile 407 Proxy Authentication Required ne anlama gelir?

407 Proxy Authentication Required vekil, kimlik bilgilerinizi almadığı veya yanlış olduğu için isteğinizi reddetti demektir. Hedef site asla aranmadı. CrawlRelay yerleşik proxylerinde üç şeyi kontrol edin: kullanıcı adının kontrol panelinizde görünen olduğundan emin olun, şifre eşleşiyor mu ve her ikisinde de bulunan özel karakterlerin URL kodlaması yapıldı mı. Aynı isteği tekrar denemek 407’yi asla düzeltemez.

407 Proxy Authentication Required hızlı bakış

Hata407 Proxy Authentication Required
TürHTTP durum kodu (4xx, istemci hatası)
GönderenVekil sunucu kapısı, hedef web sitesi değil
Tanımlandığı yerRFC 9110, section 15.5.8 (headers: Proxy-Authenticate 11.7.1, Proxy-Authorization 11.7.2)
Tekrar denemek ister misiniz?Hayır. Aynı kimlik bilgileri tekrar başarısız olur; önce onları düzeltin
İlk kontrolAşağıdaki curl testini çıplak kullanıcı adı ve hedefleme parametreleri olmadan çalıştırın

407 Proxy Authentication Required ne anlama gelir?

407 vekilden gelir, ulaşmak istediğiniz site değil. RFC 9110 bunu vekilin 401 versiyonu olarak tanımlar: istemci vekille kimlik doğrulaması yapmadan hiçbir şey olmaz. Vekil, kabul ettiği şemayı adlandıran Proxy-Authenticate başlığı gönderir, hemen hemen her zaman Basic şemasıdır. İstemciniz, Base64 ile şifrelenmiş username:password taşıyan Proxy-Authorization başlığıyla yanıt verir.

HTTPS hedefi için 407, tüneli açan CONNECT isteğine karşılık gelir. Bu yüzden birçok kütüphane bunu HTTP durumu olarak değil, tünel ya da bağlantı hatası olarak raporlar: TLS oturumu hiç başlamamıştır.

Python, curl, Node.js ve tarayıcılarda a 407 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: 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 veya görünür bir tarayıcıda oturum açma penceresi
  • Node.js istemcileri http:// hedefinde: Request failed with status code 407

a 407 neden olur?

Öncelikle en olası sebep:

  • Yanlış kullanıcı adı veya şifre. Yazım hatası, sıfırlama sonrası eski şifre veya başka bir alt kullanıcının kimlik bilgileri.
  • Kodlanmamış özel karakterler. Şifrede @, :, / veya # olması user:pass@host URL'sini bozar. Yüzde kodlama yapın: @, %40 olur; :, %3A olur.
  • Bozuk hedef eki. Vekil kullanıcı adından hedeflemeyi okuyan kapılar, tek uzun kullanıcı adı görür. Anahtarda veya ülke kodunda yazım hatası vekilin bilmediği kullanıcı adına dönüşür.
  • Kodunuzda hiç çıkmayan kimlik bilgileri. Chrome --proxy-server içinde yazılan kullanıcı adı ve şifreyi yoksayar. Puppeteer page.authenticate() gerektirir, Selenium ise yerel bir proxy gerektirir.
  • Boş bakiye. Kodu hata ayıklamadan önce hesabınızda trafik kaldığını kontrol edin.

a 407 nasıl adım adım teşhis edilir?

  1. Kimlik bilgilerini curl ile tamamen hedefleme olmadan test edin (aşağıdaki komut). Ayrıntılı çıktıdaki HTTP/1.1 407 satırı bir kimlik bilgisi sorunu olduğunu doğrular.
  2. Hedef parametrelerinizi tek tek geri ekleyin, her eklemeden sonra testi tekrarlayın.
  3. Programınızın gerçek oluşturduğu vekil URL'sini şifre gizli şekilde kaydedin ve karakter karakter kontrol panelindekilerle karşılaştırın.
  4. Curl başarılı, program başarısızsa, kütüphane kimlik bilgilerini göndermiyordur. Aşağıdaki aracınıza yönelik çözümü okuyun.
Başarısız URL'yi curl ile test edin (HTTP portu, detaylı çıktı)
# 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_URL

a 407 nasıl düzeltilir?

  • Python'da urllib.parse.quote(value, safe='') ile veya JavaScript’te encodeURIComponent() ile kimlik bilgilerini URL oluşturulmadan önce kodlayın.
  • Tarayıcılar: Playwright’ta proxy seçeneğine username ve password geçin, Puppeteer’da page.authenticate() çağırın, Selenium için yerel bir proxy kullanın. Playwright] ve Puppeteer] kılavuzlarını inceleyin.
  • Ortam değişkenleri: HTTPS_PROXY ayarlarsanız, tüm değeri kabuğunuzda tırnak içinde yazın ki @ ve $ kaybolmasın.
  • Şüpheleniyorsanız pano şifresini döndürün ve ardından kullanan tüm kazıyıcıları güncelleyin.
Python: kodlanmış kimlik bilgileriyle proxy URL'si oluşturma
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): kimlik bilgilerini ayrı alanlar olarak kullanma
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 sonrası tekrar denenmeli mi?

407 otomatik tekrar denemesi yapmayın. Aynı kimliklerle tekrar denemek aynı cevabı verir ve sık tekrar kayıtlara sadece yük bindirir. 407’yi yapılandırma hatası olarak görün: işi durdurup kimlik bilgilerini düzeltin ve yeniden başlatın. Günlerce çalışan işte aniden 407 varsa şifre muhtemelen değişmiştir veya alt kullanıcı devre dışı bırakılmıştır.

407 Proxy Authentication Required CrawlRelay için nasıl geçerli?

CrawlRelay kapısı her yeni bağlantıda kullanıcı adı ve şifreyi okur. Hedefleme ve oturum ayarları kullanıcı adında olduğundan, geçerli bir parola yine de bozuk ekle başarısız olabilir. Kullanıcı adını tek yardımcı fonksiyonda oluşturun ve başlatmada çıktısını bir kere kaydedin. Hızlı başlangıç sayfası] tam formatı gösterir.

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: 401 vs 407 · ERR_TUNNEL_CONNECTION_FAILED · Proxy’ye bağlanamıyor.

407 Proxy Authentication Required: geliştiricilerin sorduğu sorular

Bana veri kazıdığım web sitesi 407 gönderiyor mu?

Hayır. 407 her zaman siz ile web sitesi arasında duran bir vekilden gelir. İstek siteye asla ulaşmaz, bu yüzden trafik görüntüleyemez, sayamaz veya engelleyemez. Site oturum açma isteseydi 401 cevabı verirdi. Vekil kimlik bilgilerini düzeltin, 407 kaybolacaktır.

Neden curl aynı proxy ile çalışırken kodum 407 alıyor?

Kütüphaneniz kimlik bilgilerini göndermiyor ya da farklı bir biçimde gönderiyor. Genellikle kimlik bilgileri gözardı edilen bir tarayıcı bayrağına girilmiş, özel karakterler yitirilmiş ortam değişkeni veya URL kodlanmamış şifredir. Programınızın oluşturduğu vekil URL’sini şifre gizli şekilde yazdırın ve curl ile karşılaştırın.

407, planımdaki trafik hakkını kullanıyor mu?

407 yanıtı birkaç yüz bayttır ve istek hedefe asla ulaşmaz, sayfa indirilmez. Masraf başka yerde: 407 tekrar döngüsünde sıkışan kazıyıcı zaman harcar ve loglarınızı doldurur. 407’yi hata işleme sürecinizde kesme noktası yapın.

Bu referanstaki diğer proxy hataları

HTTP durum kodları

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

$0,50/GB · KYC olmadan

Başlayın