cURL и внешнее реле Tor

#php #curl #tor

#php #curl #tor

Вопрос:

Я создаю инструмент и хочу использовать сеть Tor.

Я знаком как с PHP, так и с его расширением cURL, но, похоже, я просто не могу использовать Tor в качестве прокси. Я продолжаю не получать ответа от сервера.

 $this->ch = curl_init();

curl_setopt($this->ch, CURLOPT_CONNECTTIMEOUT, 1);
curl_setopt($this->ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($this->ch, CURLOPT_PROXY, $proxy_ip);
curl_setopt($this->ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
curl_setopt($this->ch, CURLOPT_NOSIGNAL, true);
curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($this->ch, CURLOPT_TIMEOUT, 1);

curl_setopt($this->ch, CURLOPT_URL, $url);
curl_setopt($this->ch, CURLOPT_USERAGENT, $this->useragents[array_rand($this->useragents, 1)]);

$result = curl_exec($this->ch);
$httpcode = curl_getinfo($this->ch, CURLINFO_HTTP_CODE);

if($httpcode >= 200 amp;amp; $httpcode < 300) {
    return $result;
}

return $httpcode; // Always returns 0
  

Я довольно невежественен, в чем может быть проблема. Мои настройки cURL неверны?

Каждое внешнее реле не работает для меня, но мое локальное реле работает.


ОС: OSX, но также протестирована на Windows

PHP: 5.3.5

cURL: 7.21.3

Ответ №1:

Tor обычно работает очень медленно и требует гораздо больше одной секунды, чтобы получить ответ, поэтому сначала попробуйте изменить CURLOPT_TIMEOUT на что-то вроде 30 или около того и посмотреть, поможет ли это, если нет, мы будем копать дальше 🙂

PS Также установите CURLOPT_CONNECTTIMEOUT равным 0 (на неопределенный срок)