Just to clarify:
Spaces in the URL need to be replaced with a %20.
Spaces in the querystring need to be replaced with a +
(PHP 4 >= 4.0.2, PHP 5, PHP 7)
curl_init — Initialize a cURL session
$url
= NULL
] )Initializes a new session and return a cURL handle for use with the curl_setopt(), curl_exec(), and curl_close() functions.
url
If provided, the CURLOPT_URL
option will be set
to its value. You can manually set this using the
curl_setopt() function.
Note:
The file protocol is disabled by cURL if open_basedir is set.
Returns a cURL handle on success, FALSE
on errors.
Example #1 Initializing a new cURL session and fetching a web page
<?php
// create a new cURL resource
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
// grab URL and pass it to the browser
curl_exec($ch);
// close cURL resource, and free up system resources
curl_close($ch);
?>
Just to clarify:
Spaces in the URL need to be replaced with a %20.
Spaces in the querystring need to be replaced with a +
Regarding spaces in URLs;
Please read
http://php.net/manual/en/function.urlencode.php
Curl_init as well as CURLOPT_URL don't like to have static strings as parameter.
I came across this by accident and it took me very long to find out. curl_exec will throw error 3 (Malformed) and you tipple check the URL in it's variable only to find by trial and error that it's declaration is the culprit.
So never do this:
static $someurl = "http://www.example.com/interfacce.php";
....
$ch=curl_init($someurl);
....
$return=curl_exec($ch);
Cheers
curl_init() has undefined behavior if you pass 'false' to it and can crash when you try to copy the resulting handle using curl_copy_handle(). Keep this in mind if you create a wrapper object for CURL.
For some reason on some webservers it may not be able to understand what cURL is doing. If you're getting unexpected results (like getting no output when the URL is valid) while using curl_init(). Add a trailing slash '/' after the url if you haven't done so already.
<?php
function curl($url,$posts=""){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, $posts ? 0 :1;);
curl_setopt($ch, CURLOPT_POSTFIELDS,$posts);
$icerik = curl_exec($ch);
return $icerik;
curl_close($ch);
}
/*Bu fonksiyonu kullanarak kolayca curl yi kullanabilirsiniz.
Kullanımı*/
echo curl("http://gencbilgin.net/");
?>
Bu kodlar http://gencbilgin.net/curl-kutuphanesi-ve-kullanimi.html adresinden alınmıştır...
Here you have a function that I use to get the content of a URL using cURL:
function getUrlContent($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
$data = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return ($httpcode>=200 && $httpcode<300) ? $data : false;
}
The source comes from this website:
http://softontherocks.blogspot.com/2014/11/descargar-el-contenido-de-una-url.html
e.g. you can check how many characters are on test_1.php
or you can it use for more, i have used this function for a nagios check.
<?PHP
echo "CURL - function test <br>" ;
if ($load == 1){
function webcheck ($url) {
$ch = curl_init ($url) ;
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1) ;
$res = curl_exec ($ch) ;
curl_close ($ch) ;
return ($res) ;
}
echo "url = $url <br>" ;
$erg = webcheck("my_page.php/test_1.php") ;
$zahl = strlen ($erg) ;
echo "length = $zahl " ;
?>
<?php
vWritePageToFile( 'http://es.php.net', 'es.php.net.txt' );
?>
... And the text file stand in the server in the same folder that the script.
This is the function code.-
<?php
function vWritePageToFile( $sHTMLpage, $sTxtfile ) {
$sh = curl_init( $sHTMLpage );
$hFile = FOpen( $sTxtfile, 'w' );
curl_setopt( $sh, CURLOPT_FILE, $hFile );
curl_setopt( $sh, CURLOPT_HEADER, 0 );
curl_exec ( $sh );
$sAverageSpeedDownload = curl_getInfo( $sh, CURLINFO_SPEED_DOWNLOAD );
$sAverageSpeedUpload = curl_getInfo( $sh, CURLINFO_SPEED_UPLOAD );
echo '<pre>';
echo 'Average speed download == ' . $sAverageSpeedDownload . '<br>';
echo 'Average Speed upload == ' . $sAverageSpeedUpload . '<br>';
echo '<br>';
$aCURLinfo = curl_getInfo( $sh );
print_r( $aCURLinfo );
echo '</pre>';
curl_close( $sh );
FClose ( $hFile );
echo '(<b>See the file "'.$sTxtfile.'" in the same path of the hosting'.
' to where this script PHP</b>).<br>';
}
?>