我如何以编程方式使用 tor

How do I programmatically use tor

我的 tor 已连接到 127.0.0.1:9051,据说它不是 HTTP 代理,所以我如何真正以编程方式使用它连接到网站(最好是 node.js)? (Trying to connect using http GET)

比如有发送请求的具体方式吗?

提前致谢

您可以使用axios进行请求,设置代理为TOR SOCKS代理。 喜欢下面

const axios = require('axios');
const SocksProxyAgent = require('socks-proxy-agent');
const proxyOptions = `socks5://7.0.0.1:9050`;
const httpsAgent = new SocksProxyAgent(proxyOptions);
const baseUrl = 'https://example.com'
const client = axios.create({baseUrl, httpsAgent});
client.get('/something').then(res => res.data);

对于在这里寻找更新答案的人来说,什么对我有用。确保您的 tor 实例 运行 在另一个终端选项卡上或在后台。

这只是一个常规的 axios 设置,但我们需要传递由 socks-proxy-agent 库创建的 httpsAgent 参数。

const axios = require('axios')
const { SocksProxyAgent } = require('socks-proxy-agent')

const run = async () => {
  try {
    const httpsAgent = new SocksProxyAgent('socks://127.0.0.1:9050')

    const result = await axios({
      httpsAgent,
      method: 'get',
      url: 'https://api.ipify.org'
    })

    console.log(result.data)
    // 185.220.101.68
  } catch (err) {
    console.log(err.message)
  }
}

run()