gpt4 book ai didi

php - 如何更改 tor ip 每个 curl_init()

转载 作者:搜寻专家 更新时间:2023-10-31 21:34:57 28 4
gpt4 key购买 nike

为了解决我的项目,我在我的虚拟站(Debian)上安装了tor和privoxy。我找到了如何使用 curl 和 Tor 代理,但我无法在每次 curl_init() 时更改 Ip 地址。

这是我的代码:

#!/usr/bin/env php
<?php
function get_url($url)
{
// ensure PHP cURL library is installed
if(function_exists('curl_init'))
{
$timestart=microtime(true);

$ip = '127.0.0.1';
$port = '9050';
$auth = 'rebootip';
$command = 'signal NEWNYM';

$fp = fsockopen($ip,$port,$error_number,$err_string,10);

if(!$fp)
{
echo "ERROR: $error_number : $err_string";
return false;
}
else
{
fwrite($fp,"AUTHENTICATE \"".$auth."\"\n");
$received = fread($fp,512);
fwrite($fp,$command."\n");
$received = fread($fp,512);
}
fclose($fp);

$ch = curl_init();
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_PROXY, "127.0.0.1:9050");
curl_setopt($ch, CURLOPT_PROXYTYPE, 7);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
$response = curl_exec($ch);
$error = curl_error($ch);
print_r($response."\n");
print_r($error."\n");
}
else // PHP cURL library not installed
{
echo 'Please install PHP cURL library';
}
}
echo get_url('http://ipinfo.io/');

这是-我需要更改“tor”和“privoxy”的配置才能更改 ip 地址吗?

提前致谢:)

最佳答案

要获得不同的导出节点 IP 地址,请设置多个 Tor 客户端监听端口 9050、9051 等。然后在 curl_init 上,将代理端口更改为另一个可用的 Tor 客户端。

一旦您用完当前的 Tor 客户端列表,您可以重新启动它们以获得另一个导出节点。您甚至可以将简单的 telnet 命令直接发送到您的 Tor 客户端以更改导出节点。

关于php - 如何更改 tor ip 每个 curl_init(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22313231/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com