Jump to content

Unique cURL Proxy Issue (VPS Server)


soma56

Recommended Posts

I have a very basic script. It's a cURL script used to grab the contents of a webpage. I'm attempting to connect through a proxy. The most frequent error message I'm receiving is related to a timeout...

 

CURLE_OPERATION_TIMEDOUT (28)

 

After a few hours of trying different things I decided to try a different server. I instantly noticed a huge difference. The script was working correctly through a proxy on SERVER 2. While I did have 'some success' on SERVER 1 I found the results to be slow and inconsistent.

 

Here is a simplified version of the cURL script:

 

<?PHP

ignore_user_abort(true);
set_time_limit(0);

//Proxy Sources
$proxypage = file('newproxies.php');

//Assign Page to Download
$BIGG =  "www.example.com";

//Proxy Sources
$proxypage = file('newproxies.php');
$rand_goodproxy = array_rand($proxypage, 2);
$goodproxy = $proxypage[$rand_goodproxy[0]] . "\n";

//Variable for User Agent
$agent = "My Agent";

?>

<?PHP


if(!function_exists('DownloadBIGG')){
function DownloadBIGG($BIGG){

//Globalize variables
global $goodproxy, $proxypage, $BIGG, $agent;

    // is curl installed?
    if (!function_exists('curl_init')){ 
        die('CURL is not installed!');
    }

//Start Output Buffer
ob_start();

    // create a new curl resource
    $ch = curl_init();

    // set URL to download
    curl_setopt($ch, CURLOPT_URL, $URL);

    // set referer:
    curl_setopt($ch, CURLOPT_REFERER, "http://www.google.com/");

    // user agent:
    curl_setopt($ch, CURLOPT_USERAGENT, "$agent");

   	curl_setopt($ch, CURLOPT_PROXY, "$goodproxy");

//Proxy Tunnel?
curl_setopt($ch, curlopt_httpproxytunnel, 1); 

//curl_setopt ($ch, CURLOPT_HTTPGET, true);

    // remove header? 0 = yes, 1 = no
    curl_setopt($ch, CURLOPT_HEADER, false);

    // should curl return or print the data? true = return, false = print
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    // sets how long CURL will run before it gives up
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);

    // sets how long CURL will wait to even connect 
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);

    // download the given URL, and return output
    $DLBIGG = curl_exec($ch);

//get information
$info = curl_getinfo($ch);

flush();
    ob_flush(); 

    // print output
echo "<br />cURL error number:" .curl_errno($ch);
    echo "<br />cURL error:" . curl_error($ch);
echo "<br />cURL info:";
print_r($info);
echo str_pad("
Loaded … ",;
sleep(1);
	flush();
ob_end_flush();
    echo $DLBIGG;
usleep(100000);
curl_close($ch);

}

}//end if !function does not exist 

global $info, $firstproxy;

$DLBIGG = DownloadBIGG($BIGG);

?>

 

Given that trying the script on another server (SERVER 2) led to success with respect to connecting to a proxy I have a strong suspicion that this has something to do with the server configuration. I should point out that the server that I'm having issues with (SERVER 1) is a VPS with over a gig of ram.

 

SERVER 1

The server that is not responding quickly and otherwise timing out: PHP Version 5.2.9

 

SERVER 2

Responding quickly through the script and returning the page through a proxy: PHP Version 4.4.9

 

I'd be more then happy to post the "phpinfo();" information for both servers.

 

I'm wondering if there is an obvious setting that I should be adjusting or looking at in terms of the PHP configuration for the server I'm having issues with.

 

Any help would be greatly appreciated.

Link to comment
https://forums.phpfreaks.com/topic/236510-unique-curl-proxy-issue-vps-server/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.