Wie kann ich mit Curl in PHP mit einem versteckten Dienst eine Verbindung zu einem versteckten Dienst herstellen?
Posted: 15 Feb 2025, 05:11
Ich versuche mit dem folgenden PHP -Code eine Verbindung zu einem versteckten Dienst herzustellen: < /p>
$url = 'http://jhiwjjlqpyawmpjx.onion/'
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_PROXY, "http://127.0.0.1:9050/");
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
$output = curl_exec($ch);
$curl_error = curl_error($ch);
curl_close($ch);
print_r($output);
print_r($curl_error);
< /code>
Wenn ich es ausführe, erhalte ich den folgenden Fehler: < /p>
konnte den Hostnamen nicht auflösen < /p> nicht auflösen < /p>
< /blockquote>
Wenn ich jedoch den folgenden Befehl aus meiner Befehlszeile in Ubuntu ausführe: < /p>
curl -v --socks5-hostname localhost:9050 http://jhiwjjlqpyawmpjx.onion
< /code>
Ich erhalte wie erwartet eine Antwort.--socks5-hostname
Use the specified SOCKS5 proxy (and let the proxy resolve the host name).
< /code>
Ich glaube, der Grund, warum es aus der Befehlszeile funktioniert, ist, dass Tor (der Proxy) den .onion -Hostnamen, den es erkennt, auflöst. Wenn Sie den oben genannten PHP -Code ausführen, vermute ich, dass Curl oder PHP versucht, den Hostnamen des .onion zu beheben und erkennt ihn nicht. Ich habe nach einer Möglichkeit gesucht, Curl/PHP zu sagen, dass der Proxy den Hostnamen auflösen soll, aber ich kann keinen Weg finden. EM> CURL -Anforderung unter Verwendung von SOCKS5 -Proxy schlägt bei der Verwendung von PHP fehl, aber sie über die Befehlszeile .
$url = 'http://jhiwjjlqpyawmpjx.onion/'
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_PROXY, "http://127.0.0.1:9050/");
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
$output = curl_exec($ch);
$curl_error = curl_error($ch);
curl_close($ch);
print_r($output);
print_r($curl_error);
< /code>
Wenn ich es ausführe, erhalte ich den folgenden Fehler: < /p>
konnte den Hostnamen nicht auflösen < /p> nicht auflösen < /p>
< /blockquote>
Wenn ich jedoch den folgenden Befehl aus meiner Befehlszeile in Ubuntu ausführe: < /p>
curl -v --socks5-hostname localhost:9050 http://jhiwjjlqpyawmpjx.onion
< /code>
Ich erhalte wie erwartet eine Antwort.--socks5-hostname
Use the specified SOCKS5 proxy (and let the proxy resolve the host name).
< /code>
Ich glaube, der Grund, warum es aus der Befehlszeile funktioniert, ist, dass Tor (der Proxy) den .onion -Hostnamen, den es erkennt, auflöst. Wenn Sie den oben genannten PHP -Code ausführen, vermute ich, dass Curl oder PHP versucht, den Hostnamen des .onion zu beheben und erkennt ihn nicht. Ich habe nach einer Möglichkeit gesucht, Curl/PHP zu sagen, dass der Proxy den Hostnamen auflösen soll, aber ich kann keinen Weg finden. EM> CURL -Anforderung unter Verwendung von SOCKS5 -Proxy schlägt bei der Verwendung von PHP fehl, aber sie über die Befehlszeile .