Welcome Guest, Not a member yet? Register   Sign In
curl proxy settings
#1

[eluser]kishore[/eluser]
HI Everyone

I have a problem while posting form variables to a site using curl,

Earlier it used to post variables easily but now Iam getting some firewall error.

I think it is something related to proxy settings of my server, can any one tell me, how

to set the proxy settings or enable or disable anything which can solve my problem.

Here's my curl file code.


Code:
class CI_Curl {
    
var $headers;
var $user_agent;
var $compression;
var $cookie_file;
var $proxy;

function __construct($cookies=TRUE,$cookie='cookie',$compression='gzip',$proxy='') {
    $this->headers[] = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg';
    $this->headers[] = 'Connection: Keep-Alive';
    $this->headers[] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8';
    $this->user_agent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)';
    $this->compression=$compression;
    $this->proxy=$proxy;
    $this->cookies=$cookies;
    if ($this->cookies == TRUE) $this->cookie($cookie);
}

function cookie($cookie_file) {
if (file_exists($cookie_file)) {
    $this->cookie_file=$cookie_file;
} else {
    fopen($cookie_file,'w') or $this->error('The cookie file could not be opened. Make sure this directory has the correct permissions');
    $this->cookie_file=$cookie_file;
    fclose($this->cookie_file);
}
}
function get($url) {
$process = curl_init($url);
curl_setopt($process, CURLOPT_HTTPHEADER, $this->headers);
curl_setopt($process, CURLOPT_HEADER, 0);
curl_setopt($process, CURLOPT_USERAGENT, $this->user_agent);
if ($this->cookies == TRUE) curl_setopt($process, CURLOPT_COOKIEFILE, $this->cookie_file);
if ($this->cookies == TRUE) curl_setopt($process, CURLOPT_COOKIEJAR, $this->cookie_file);
curl_setopt($process,CURLOPT_ENCODING , $this->compression);
curl_setopt($process, CURLOPT_TIMEOUT, 30);
if ($this->proxy) curl_setopt($process, CURLOPT_PROXY, $this->proxy);
curl_setopt($process, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1);
$return = curl_exec($process);
curl_close($process);
return $return;
}
function post($url,$data) {
$process = curl_init($url);
curl_setopt($process, CURLOPT_HTTPHEADER, $this->headers);
curl_setopt($process, CURLOPT_HEADER, 1);
curl_setopt($process, CURLOPT_USERAGENT, $this->user_agent);
if ($this->cookies == TRUE) curl_setopt($process, CURLOPT_COOKIEFILE, $this->cookie_file);
if ($this->cookies == TRUE) curl_setopt($process, CURLOPT_COOKIEJAR, $this->cookie_file);
curl_setopt($process, CURLOPT_ENCODING , $this->compression);
curl_setopt($process, CURLOPT_TIMEOUT, 30);
if ($this->proxy) curl_setopt($process, CURLOPT_PROXY, $this->proxy);
curl_setopt($process, CURLOPT_POSTFIELDS, $data);
curl_setopt($process, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($process, CURLOPT_POST, 1);
$return = curl_exec($process);
curl_close($process);
return $return;
}

function error($error) {
echo "<center><div style='width:500px;border: 3px solid #FFEEFF; padding: 3px; background-color: #FFDDFF;font-family: verdana; font-size: 10px'><b>cURL Error</b><br>$error</div></center>";
die;
}
}

Any Help will be greatly appreciated.

Thanks in Advance.
#2

[eluser]Phil Sturgeon[/eluser]
My library uses:

Code:
public function proxy($url = '', $port = 80)
    {
        $this->option(CURLOPT_HTTPPROXYTUNNEL, TRUE);
        $this->option(CURLOPT_PROXY, $url.':'. $port);
        return $this;
    }
#3

[eluser]kishore[/eluser]
Thanks for the reply,

I will try it and come back to you.
#4

[eluser]kishore[/eluser]
HI Phil Sturgeon,

Thanks for the reply.

I just copy pasted your function in the above given file, but it is showing some fatal errors, stating call to undefined function ci::option.

Please give some detailed explanation about how to use the function, where to use and how to call it,

Does the parameteres $url and port changes dynamically or what should be passed.

Please help me Iam very new to curl and proxy settings.

Thanks in Advance.




Theme © iAndrew 2016 - Forum software by © MyBB