मैं निम्नलिखित PHP कोड का उपयोग करके एक टो छिपी सेवा से कनेक्ट करने का प्रयास कर रहा हूं:
$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);
जब मैं इसे चलाता हूं, मुझे निम्न त्रुटि मिलती है:
होस्ट नाम हल नहीं कर सका
हालाँकि, जब मैं Ubuntu में अपनी कमांड लाइन से निम्न कमांड चलाता हूं:
curl -v --socks5-hostname localhost:9050 http://jhiwjjlqpyawmpjx.onion
मुझे उम्मीद के मुताबिक प्रतिक्रिया मिल रही है
PHP cURL दस्तावेज़ यह कहते हैं:
--socks5-hostname
Use the specified SOCKS5 proxy (and let the proxy resolve the host name).
मेरा मानना है कि यह कमांड लाइन से काम करने का कारण है क्योंकि टोर (प्रॉक्सी) .onion होस्टनाम को हल कर रहा है, जिसे वह पहचानता है। ऊपर दिए गए PHP कोड को चलाते समय, मेरा अनुमान है कि cURL या PHP .onion hostname को हल करने की कोशिश कर रहा है और इसे पहचानता नहीं है। मैंने CURL / PHP को बताने का तरीका खोजा है ताकि प्रॉक्सी होस्टनाम को हल कर सके, लेकिन मुझे कोई रास्ता नहीं मिल रहा है।
एक बहुत ही समान स्टैक ओवरफ्लो प्रश्न है, PHP का उपयोग करते समय मोजे 5 प्रॉक्सी विफल का उपयोग करते हुए cURL अनुरोध, लेकिन यह कमांड लाइन के माध्यम से काम करता है ।
forward-socks5 / localhost:9150 .