curl mit einem SOCKS5-Proxy: das vollständige Referenzdokument
Das definitive Referenzdokument für curl und Proxy: SOCKS5 vs SOCKS5h, die -x und --socks5-hostname Flags, Umgebungsvariablen, eine persistente .curlrc und authentifizierte s4m-Endpunkte. Bereit zum Kopieren und Einfügen.
SOCKS5 vs SOCKS5h und warum es wichtig ist
curl unterstützt sowohl HTTP- als auch SOCKS-Proxys, und das genaue Schema, das Sie wählen, entscheidet, wo DNS aufgelöst wird. Mit socks5:// löst curl den Ziel-Hostnamen auf Ihrem eigenen Rechner auf und verbindet sich dann über den Proxy, was die Domains, die Sie besuchen, preisgeben kann. Mit socks5h:// (das h steht für Hostnamen) löst der Proxy DNS remote auf, sodass Abfragen Ihren Rechner nie verlassen. Für die Privatsphäre sollten Sie socks5h bevorzugen — dieselbe Regel gilt für das --socks5-hostname-Flag, das das Langform-Äquivalent ist.
s4m bietet Ihnen beide Protokolle auf einem Konto: SOCKS5 auf Port 1080 und HTTP auf Port 3128, beide authentifiziert mit USER:PASS gegen proxy.s4m.online. Das generische -x / --proxy-Flag akzeptiert eine vollständige URL einschließlich des Schemas, sodass ein einzelnes Flag jeden Fall abdeckt. Für die Grundlagen des Routings von curl über einen Proxy siehe den curl-Proxy-Leitfaden; diese Seite ist das tiefere Referenzdokument für SOCKS5, Umgebungsvariablen und persistente Konfiguration. Hintergrundinformationen zu den Protokollen finden Sie in was ist SOCKS5.
Jede Proxy-Aufruf, ein Ort
SOCKS5, SOCKS5h, HTTP, Authentifizierung, Umgebungsvariablen und eine .curlrc-Datei. Ersetzen Sie USER:PASS durch Ihre Anmeldedaten.
# --- SOCKS5 with REMOTE DNS (recommended) --- curl -x socks5h://USER:PASS@proxy.s4m.online:1080 https://api.ipify.org # equivalent long form: curl --socks5-hostname proxy.s4m.online:1080 -U USER:PASS https://api.ipify.org # --- SOCKS5 with LOCAL DNS (leaks hostnames) --- curl -x socks5://USER:PASS@proxy.s4m.online:1080 https://api.ipify.org # --- HTTP / HTTPS proxy (port 3128) --- curl -x http://USER:PASS@proxy.s4m.online:3128 https://api.ipify.org # --- Whole-session env vars (any http_proxy-aware tool honors these) --- export ALL_PROXY="socks5h://USER:PASS@proxy.s4m.online:1080" export HTTPS_PROXY="http://USER:PASS@proxy.s4m.online:3128" export NO_PROXY="localhost,127.0.0.1,.internal" curl https://api.ipify.org # now proxied with no -x flag # --- Persistent config: ~/.curlrc (applied to every curl run) --- cat > ~/.curlrc <<'RC' proxy = socks5h://proxy.s4m.online:1080 proxy-user = USER:PASS connect-timeout = 10 RC curl https://api.ipify.org # reads ~/.curlrc automatically # --- Ignore ~/.curlrc for one call --- curl -q --noproxy '*' https://api.ipify.org
Richten Sie einen persistenten Proxy für curl ein
So wird jeder Curl-Befehl ohne wiederholte Flags über einen Proxy geleitet.
Wählen Sie ein Schema
Wählen Sie socks5h:// auf Port 1080 für Remote-DNS und jedes Protokoll oder http:// auf Port 3128 für normalen Webverkehr. socks5h ist der datenschutzsichere Standard.
Erstellen Sie ~/.curlrc
Füge proxy = socks5h://proxy.s4m.online:1080 und proxy-user = USER:PASS zu ~/.curlrc hinzu. curl liest diese Datei bei jedem Lauf, es sei denn, du übergibst -q.
Umgebungsvariablen für andere Tools festlegen
Exportieren Sie ALL_PROXY, damit jede http_proxy-bewusste CLI (wget, git, Paketmanager) denselben Ausgang teilt, und setzen Sie NO_PROXY für Hosts, die den Proxy umgehen müssen.
Überprüfen und Ausnahmen hinzufügen
Führen Sie curl https://api.ipify.org aus, um die Exit-IP zu bestätigen, und verwenden Sie dann --noproxy oder NO_PROXY, um interne Hosts auszuschließen, die Sie niemals proxied haben möchten.
Auth-Optionen, Priorität und NTLM
Sie können Anmeldeinformationen auf zwei Arten bereitstellen: inline in der URL (socks5h://USER:PASS@host) oder separat mit -U / --proxy-user. Wenn Ihr Passwort Zeichen wie @ oder : enthält, bevorzugen Sie -U oder kodieren Sie sie in der URL, damit curl die URL korrekt analysiert. Befehlszeilenflags haben immer Vorrang vor Umgebungsvariablen, die wiederum ~/.curlrc überschreiben — also schlägt ein einmaliges -x Ihre persistente Konfiguration.
Für Unternehmensproxies, die Windows NTLM-Authentifizierung verwenden, unterstützt curl --proxy-ntlm neben -U; s4m selbst verwendet die Standard-USER:PASS (Basic) Authentifizierung, sodass Sie NTLM mit unseren Endpunkten nicht benötigen. Wenn eine Anfrage 407 Proxy-Authentifizierung erforderlich zurückgibt, fehlen Ihre Anmeldeinformationen oder sind falsch — siehe den 407 Fix-Leitfaden. Die gleichen Umgebungsvariablen steuern wget und andere Tools, und Sie können jeden Endpunkt mit den Tools validieren oder offene Proxies aus der freien Liste testen.
Fragen, beantwortet
Was ist der Unterschied zwischen socks5 und socks5h in curl?
socks5:// löst DNS auf Ihrem lokalen Rechner auf, bevor es eine Verbindung herstellt; socks5h:// bittet den Proxy, es remote aufzulösen. Verwenden Sie socks5h, um das Leaken der angeforderten Hostnamen zu vermeiden. Das --socks5-hostname-Flag ist dasselbe wie socks5h.
Wie mache ich, dass curl für jeden Befehl einen Proxy verwendet?
Setze proxy = socks5h://proxy.s4m.online:1080 und proxy-user = USER:PASS in ~/.curlrc oder exportiere ALL_PROXY. curl leitet dann jede Anfrage automatisch über den Proxy; übergebe -q oder --noproxy, um es für einen Aufruf zu überspringen.
Benötigt s4m NTLM-Proxy-Authentifizierung?
Nein. s4m verwendet die standardmäßige USER:PASS (Basic) Authentifizierung an den Ports 1080 und 3128. curl's --proxy-ntlm ist nur für Unternehmensproxies, die Windows NTLM erfordern.
Warum erhalte ich 407 Proxy-Authentifizierung erforderlich?
Ihre Anmeldeinformationen fehlen, sind fehlerhaft oder falsch. Geben Sie sie mit -U USER:PASS oder inline in der Proxy-URL an, wobei Sie alle Sonderzeichen im Passwort URL-codieren. Siehe unseren 407-Leitfaden für eine vollständige Checkliste.
Ein Endpunkt, jeder Curl-Trick
Authentifizierte SOCKS5 (1080) und HTTP (3128) Proxys auf proxy.s4m.online, bereit für -x, --socks5-hostname und ~/.curlrc. Abgerechnet nach Verbrauch, dedizierte IP optional.
Menschen fanden diese Seite durch die Suche nach
- curl mit einem SOCKS5-Proxy
- curl mit einem SOCKS5-Proxy für Anfänger
- curl mit einem SOCKS5-Proxy Vergleich
- curl mit einem SOCKS5-Proxy für Scraping
- curl mit einem SOCKS5-Proxy Tutorial
- wie man Proxy für Scraping einrichtet
- wie man proxys in Python (requests und aiohttp) rotiert
- wie man Proxy-Authentifizierung überprüft
- Browser-Fingerprinting
- HTTP-Proxy Anbieter
- wireguard
- wie man IP-Sperren beim scraping vermeidet
Echte Suchphrasen, auf die diese Seite antwortet — die verlinkten öffnen die Seite, die sie ausführlich behandelt.