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.

Leave a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Seite verwendet Cookies, um die Nutzerfreundlichkeit zu verbessern. Mit der weiteren Verwendung stimmst du dem zu.