Wie kann ich eine Verbindung zu einem Tor hidden service mit cURL in PHP?
Ich versuche, eine Verbindung zu einem Tor hidden service mit dem folgenden PHP-code:
$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);
Wenn ich es laufen lasse, bekomme ich die folgende Fehlermeldung:
Konnte das nicht auflösen von host-Namen
Allerdings, wenn ich führen Sie den folgenden Befehl aus meiner Befehlszeile in Ubuntu:
curl -v --socks5-hostname localhost:9050 http://jhiwjjlqpyawmpjx.onion
Bekomme ich eine Antwort wie erwartet
PHP LOCKE Dokumentationen sagt:
--socks5-hostname
Use the specified SOCKS5 proxy (and let the proxy resolve the host name).
Ich glaube, der Grund, warum es funktioniert von der Kommandozeile aus ist, weil Tor (proxy) ist eine Lösung der .Zwiebel hostname, die es erkennt. Beim ausführen der PHP-code oben, meine Vermutung ist, dass cURL oder PHP zu lösen versuchen .Zwiebel hostname und nicht erkennen. Ich habe nach einen Weg gesucht, um zu sagen, cURL/PHP zu lassen, die proxy auflösen des Hostnamen, aber ich kann nicht einen Weg finden.
Gibt es eine sehr ähnliche Stack Overflow Frage, cURL Anfrage über socks5 proxy schlägt fehl, wenn mit Hilfe von PHP, aber es funktioniert über die Befehlszeile.
InformationsquelleAutor der Frage frosty | 2013-03-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sieht aus wie
CURLPROXY_SOCKS5_HOSTNAME
definiert ist, nicht in PHP, aber Sie können explizit sein Wert ist gleich 7:InformationsquelleAutor der Antwort dr.scre
Benutze ich Privoxy und cURL zu kratzen Tor-Seiten:
Nach der Installation von Privoxy, die Sie benötigen, fügen Sie diese Zeile in die Konfigurationsdatei (
/etc/privoxy/config
). Beachten Sie das Leerzeichen und". " ein Ende der Linie.Dann starten Sie Privoxy.
InformationsquelleAutor der Antwort FattyPotatoes
Versuchen Sie Folgendes hinzufügen:
InformationsquelleAutor der Antwort Anthony Garcia