How to use a SOCKS 5 proxy with cURL? – Stack Overflow
Normal proxies (ex: 72. 41. 132. 22:3128) work well with cURL, however when I use SOCKS 5 proxies with username/pass, It just gives me “[1” on the page.
Is there a way to use SOCKY 5 proxies with cURL?
$proxy = “cagsan:[email protected] 61. 25. 223:34792”;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_HEADER, 1);
$curl_scraped_page = curl_exec($ch);
curl_close($ch);
Using proxies in PHP – BestProxyAndVPN.com
Our proxies are suited for use in PHP scripts with curl, a few php code snippets are listed below. Your proxies are delivered as PROXY_IP:PORT_NUMBER like for example 1. 2. 3. 4:0000 so in these examples 1. 4 would be the IP and 0000 would be the port number
HTTP Proxies
$curl=curl_init();
curl_setopt($curl, CURLOPT_TIMEOUT, 20);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
curl_setopt($curl, CURLOPT_PROXY, ‘1. 1. 1’);
curl_setopt($curl, CURLOPT_PROXYPORT, ‘11111’);
curl_setopt($curl, CURLOPT_PROXYUSERPWD, ‘username:password’);
curl_setopt($curl, CURLOPT_URL, ”);
$content=curl_exec($curl);
SOCKS proxies
$curl = curl_init();
curl_setopt($curl, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
$content = curl_exec($curl);
You can check our video tutorials on Using Proxies in PHP that our users submitted in our Double Your Proxies program in our Using Proxies in PHP video tutorials section.
All our available video tutorials are posted on our youtube channel
Tags: proxy settings, proxy php, php proxies, php proxy howto, curl proxy, php curl proxy, php
Using your FoxyProxy Account with PHP
Here’s a code snippet that uses your FoxyProxy account with PHP.
Although this example uses the HTTP proxy server on port 3128, other ports are available (usually 13129) with your account. HTTPS proxy server access is also available on the same ports, which encrypts traffic between your client and FoxyProxy proxy servers. Your account also comes with SOCKS5 proxy server access, typically on port 21. You can find this information by logging into your account at the Control Panel.
$ch=curl_init();
/* Simulate Chrome 41. 0. 2228. 0 on OSX */
curl_setopt($ch, CURLOPT_USERAGENT, “Mozilla/5. 0 (Windows NT 6. 1) AppleWebKit/537. 36 (KHTML, like Gecko) Chrome/41. 0 Safari/537. 36”);
/* Port is typically 3128 or 13129 for HTTP/HTTPS and 21 for SOCKS5. Check your account info at */
curl_setopt($ch, CURLOPT_PROXY, “$SERVERNAME:$PORT”);
/* Can also use CURLPROXY_SOCKS5 or CURLPROXY_SOCKS5_HOSTNAME for CURLOPT_PROXYTYPE */
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
/* Your FoxyProxy account username and password */
curl_setopt($ch, CURLOPT_PROXYUSERPWD, “$USER:$PASS”);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_URL, “);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_REFERER, “”);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$result = curl_exec($ch);
curl_close($ch);
if ($result === FALSE)
die(“Error: “. curl_error($ch));
else
echo $result;
The output of this code is the response to calling