Nutze einen Socks5 Proxy in PHP mit cURL
Heute geht es darum wie man in PHP einen Socks5 für die Verbindung mit einem cURL Client nutzen kann.
PHP & cURL
Wenn Sie die PHP-Erweiterung „cURL“ verwenden möchten, um eine Verbindung über einen Socks5-Proxy herzustellen, müssen Sie sicherstellen, dass die cURL-Erweiterung mit der Option „–with-curlsocks5“ konfiguriert wurde. Diese Option ermöglicht es cURL, SOCKS5-Verbindungen zu verwenden.
PHP – cURL mit Socks5 Beispiel
Um eine Verbindung über einen Socks5-Proxy mit cURL herzustellen, müssen Sie die folgenden Optionen setzen:
// Socks5-Proxy-Adresse und Port
$proxy = 'socks5://<user>:<pw>@proxy.example.com:1080';
// cURL-Optionen
$options = array(
CURLOPT_PROXYTYPE => CURLPROXY_SOCKS5,
CURLOPT_PROXY => $proxy,
CURLOPT_RETURNTRANSFER => true,
);
// cURL-Initialisierung und Ausführung der Anfrage
$ch = curl_init();
curl_setopt_array($ch, $options);
$response = curl_exec($ch);
curl_close($ch);
Diese Optionen setzen den Proxy-Typ auf SOCKS5 und die Proxy-Adresse und den Port auf die entsprechenden Werte für Ihren Socks5-Proxy. Sie können auch andere cURL-Optionen wie „CURLOPT_USERAGENT“ oder „CURLOPT_URL“ setzen, um eine HTTP-Anfrage an den Zielserver zu senden.
PHP – cURL mit Socks5 mit Auth Beispiel
Beachten Sie jedoch, dass Sie möglicherweise auch Benutzernamen und Passwort für die Authentifizierung an den Socks5-Proxy senden müssen, wenn dies erforderlich ist. Dazu können Sie die cURL-Optionen „CURLOPT_PROXYUSERPWD“ und „CURLOPT_PROXYAUTH“ verwenden.
// Socks5-Proxy-Adresse und Port
$proxy = 'socks5://proxy.example.com:1080';
// Proxy-Authentifizierung (falls erforderlich)
$username = 'proxy_username';
$password = 'proxy_password';
$auth = $username . ':' . $password;
// cURL-Optionen
$options = array(
CURLOPT_PROXYTYPE => CURLPROXY_SOCKS5,
CURLOPT_PROXY => $proxy,
CURLOPT_PROXYAUTH => CURLAUTH_BASIC,
CURLOPT_PROXYUSERPWD => $auth,
CURLOPT_RETURNTRANSFER => true,
);
// cURL-Initialisierung und Ausführung der Anfrage
$ch = curl_init();
curl_setopt_array($ch, $options);
$response = curl_exec($ch);
curl_close($ch);
Hier setzen wir die Option „CURLOPT_PROXYAUTH“ auf „CURLAUTH_BASIC“, um eine Basisauthentifizierung zu verwenden, und „CURLOPT_PROXYUSERPWD“ auf den Benutzernamen und das Passwort für den Socks5-Proxy.
Fehler beim Verbinden?
Falls Ihr einen DNS Fehler erhaltet könnte euch eine Socks5h Verbindung helfen. Was das ist und wie Ihr diese nutzt erfahrt Ihr in diesem Artikel hier.
Viel Erfolg beim ausprobieren.