This article has been superseeded by a more complex implementation of cUrl and PHP. The new implementation is a PHP class as easy to use as code on this page but with some extra features.
Basic understanding of cUrl and PHP is easy from the documentation available on PHP. But having functions prewritten that can serve most porpouses is always even better!
These functions have served all my cUrl usage needs including getting contents of webpages, downloading files or posting data. One more thing you need to use is handle COOKIES which is also simple and you have cUrl understood well enough to server most fo your cUrl PHP needs.
I added here 3 functions of which one is just a helper function:
<?
//-----------------------------------------------------------------------------------
function getPage($url, $referer, $timeout, $header){
if(!isset($timeout))
$timeout=30;
$curl = curl_init();
if(strstr($referer,"://")){
curl_setopt ($curl, CURLOPT_REFERER, $referer);
}
curl_setopt ($curl, CURLOPT_URL, $url);
curl_setopt ($curl, CURLOPT_TIMEOUT, $timeout);
curl_setopt ($curl, CURLOPT_USERAGENT, sprintf("Mozilla/%d.0",rand(4,5)));
curl_setopt ($curl, CURLOPT_HEADER, (int)$header);
curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, 0);
$html = curl_exec ($curl);
curl_close ($curl);
return $html;
}
//-----------------------------------------------------------------------------------
?>
<?
//-----------------------------------------------------------------------------------
function postPage($url,$pvars,$referer,$timeout){
if(!isset($timeout))
$timeout=30;
$curl = curl_init();
$post = http_build_query($pvars);
if(isset($referer)){
curl_setopt ($curl, CURLOPT_REFERER, $referer);
}
curl_setopt ($curl, CURLOPT_URL, $url);
curl_setopt ($curl, CURLOPT_TIMEOUT, $timeout);
curl_setopt ($curl, CURLOPT_USERAGENT, sprintf("Mozilla/%d.0",rand(4,5)));
curl_setopt ($curl, CURLOPT_HEADER, 0);
curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($curl, CURLOPT_POST, 1);
curl_setopt ($curl, CURLOPT_POSTFIELDS, $post);
curl_setopt ($curl, CURLOPT_HTTPHEADER,
array("Content-type: application/x-www-form-urlencoded"));
$html = curl_exec ($curl);
curl_close ($curl);
return $html;
}
//-----------------------------------------------------------------------------------
?>
If you find it useful, and you certainly will ;), link to it and help spread the love!
Post Feedback