Есть ли способ и какой изменить узел выхода в PHP (получить новый IP)?
Прямо сейчас я получаю новый IP каждые 10 минут или около того ..
<?php
// Initialize cURL
$ch = curl_init();
// Set the website you would like to scrape
curl_setopt($ch, CURLOPT_URL, "http://icanhazip.com/");
curl_setopt($ch, CURLOPT_USERAGENT, '');
curl_setopt($ch, CURLOPT_REFERER, '');
curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1:8118');
// Set cURL to return the results into a PHP variable
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// This executes the cURL request and places the results into a variable.
$curlResults= curl_exec($ch);
// Close curl
curl_close($ch);
// Echo the results to the screen>
echo $curlResults;
?>
Я понятия не имею, почему люди хотят закрыть этот вопрос, но что угодно ..
Вот решение, которое сработало для меня. Это изменит выходной узел по запросу.
<?php
$fp = fsockopen('127.0.0.1', 9051, $errno, $errstr, 30);
$auth_code = 'YOUR_PASSWORD';
if ($fp) {
echo "Connected to TOR port<br />";
}
else {
echo "Cant connect to TOR port<br />";
}
fputs($fp, "AUTHENTICATE \"".$auth_code."\"\r\n");
$response = fread($fp, 1024);
list($code, $text) = explode(' ', $response, 2);
if ($code = '250') {
echo "Authenticated 250 OK<br />";
}
else {
echo "Authentication failed<br />";
}
fputs($fp, "SIGNAL NEWNYM\r\n");
$response = fread($fp, 1024);
list($code, $text) = explode(' ', $response, 2);
if ($code = '250') {
echo "New Identity OK<br />";
}
else {
echo "SIGNAL NEWNYM failed<br />";
die();
}
fclose($fp);
?>
По умолчанию Tor уже выполняет циклы каждые десять минут …
https://www.torproject.org/docs/tor-manual.html#MaxCircuitDirtiness
Это не совсем то же самое, что «получить новый IP». Ваш IP-адрес, вероятно, изменится, но может и не измениться (выбор реле происходит наугад). Посмотри пожалуйста…
https://stem.torproject.org/faq.html#how-do-i-request-a-new-identity-from-tor