Здравствуйте, люди. Подскажите пожалуйста, возможно ли отправить POST запрос к tor hidden service (то есть к хосту, который имеет .onion домен). На VPS установлен tor, и он открывает socks5 (127.0.0.1:9050) для доступа в tor-сеть. Пробую примерно как в примере ниже, но с той стороны нет ответа, как будто ничего не доходит.
$fp = fsockopen($proxy, $port, $errno, $errstr, 30);
$url = @parse_url($url);
if($fp)
{
//читаем данные
if(($data = @file_get_contents('php://input')) === false)$data = '';
$request = "POST {$url['path']}." HTTP/1.1
";
$request .= "Host: {$url['host']}
";
if(!empty($_SERVER['HTTP_USER_AGENT']))$request .= "User-Agent: {$_SERVER['HTTP_USER_AGENT']}
";
$request .= "Content-Type: application/x-www-form-urlencoded
";
$request .= "Content-Length: ".strlen($data)."
";
$request .= "Connection: Close
";
//шлем
fwrite($fp, $headers.$data);
//ответ
while(!feof($fp)) echo fread($fp, 1024);
fclose($fp);
}
else die;
?>
Ответ
К сожалению, не хватает респектов для ответа на собственный вопрос, поэтому кину сюда.
$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);
Тут нет собственно самих данных, они добавляются также curl_setopt
Комментариев нет:
Отправить комментарий