Has anyone of you tried using rotating proxies? How easy is this to implement? Does it work well? Your experience please
PS: i see questions like "how to make php script use a list of proxies" gather a lot of minuses. Can you explain this before putting -1?
------ UPDATED 04 March 2017 -------
I've been there and found that the best solution was:
If you don't have a dedicated server or at least a vps and a little patience don't bother to read the rest of the post ...
1 - Install Squid 3.2 from source (check notes below)
2 - Add a list of 20 or so ip's to squid.conf (costs about 25$ month)
3 - Use the the new feature ACLrandom to rotate the outgoing ip.
This way, you don't need to rotate the list of ip's on your php script, instead, you'll be connecting to the same ip (ex: 192.168.1.1:3129) but the visible outgoing ip (
tcp_outgoing_address
) will rotate on every request based on the random settings .You'll need to compile squid 3.2 with
'-enable-http-violations'
in order to make it an elite anonymous proxy.Step by Step Install:
Sample squid.conf (located in this case /squid32/etc/squid.conf) :
Sample PHP CURL request using a squid proxy:
Usefull Links:
Squid 3.2 Source : http://www.squid-cache.org/Versions/v3/3.2/squid-3.2.13.tar.gz
Rotating_three_IPs : http://wiki.squid-cache.org/ConfigExamples/Strange/RotatingIPs#Example:_Rotating_three_IPs_based_on_time_of_day
AclRandom : http://wiki.squid-cache.org/Features/AclRandom
Installing Squid 3.2 on CentOS 5.3 - http://www.guldmyr.com/blog/installing-squid-3-2-on-centos-5-3/
Add password to Squid: How to set up a squid Proxy with basic username and password authentication?
I've found this to be the most reliable and secure way to rotate proxies because you don't rely on third party proxy providers and your information (passwords, data, etc) will be safer. It may sound a little difficult to setup at first but it will pay off every second you've spent, GL :)
PHP Curl supports a lot of proxy commands.
CURLOPT_PROXYAUTH
CURLOPT_PROXYPORT
CURLOPT_PROXYTYPE
CURLOPT_PROXY
CURLOPT_PROXY_SERVICE_NAME
CURLOPT_PROXYUSERPWD
CURLOPT_PROXYHEADER
CURLOPT_HTTPPROXYTUNNEL
See for more information: http://php.net/manual/en/function.curl-setopt.php
Simple example below.