문제

Is it possible to send post/get request to tor hidden service using php? Tor installed on my VPS and it opens 127.0.0.1:9050 scoks5 to access for tor network. I am trying to use POST via proxy like in example at the end, but nothing happens. Please tell me what is wrong in that way.

<?php
$proxy = "127.0.0.1";
$port = "9050";
$url = "https://mydomain.onion/input.php";

$fp = fsockopen($proxy, $port, $errno, $errstr, 30);
$url = @parse_url($url);

if($fp)
{
    //reading data
    if(($data = @file_get_contents('php://input')) === false)$data = '';

    $request  = "POST {$url['path']}." HTTP/1.1\r\n";
   $request .= "Host: {$url['host']}\r\n";
   if(!empty($_SERVER['HTTP_USER_AGENT']))$request .= "User-Agent:    {$_SERVER['HTTP_USER_AGENT']}\r\n";
   $request .= "Content-Type: application/x-www-form-urlencoded\r\n";
   $request .= "Content-Length: ".strlen($data)."\r\n";
   $request .= "Connection: Close\r\n";
   //trying to send request
   fwrite($fp, $headers.$data);
   //trying to get answer
   while(!feof($fp))  echo fread($fp, 1024);
   fclose($fp);
}
else die; 
?>
도움이 되었습니까?

해결책

I used tor this way:

    $proxy = "127.0.0.1";
    $port = "9050";
    $url = "https://mydomain.onion/input.php";
    $ch = curl_init();
    curl_setopt ($ch, CURLOPT_URL, $url);
    curl_setopt ($ch, CURLOPT_HEADER, 0);
    curl_setopt ($ch, CURLOPT_PROXYTYPE, 7 );
    curl_setopt ($ch, CURLOPT_PROXY, $proxy.':'.$port );
    ob_start();

    curl_exec ($ch);
    curl_close ($ch);

    $result = ob_get_contents();
    ob_end_clean();
    var_dump($result);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top