And dont forget the other disallowed Signs in a URI. Make sure you encoded the URI with urlencode($str)
curl_init
(PHP 4 >= 4.0.2, PHP 5)
curl_init — Inicia sesión cURL
Descripción
resource curl_init
([ string
$url = NULL
] )Inicia una nueva sesión y devuelve el manipulador curl para el uso de las funciones curl_setopt(), curl_exec(), y curl_close().
Parámetros
-
url -
Si se proporciona, se estabecerá en el valor de la opción
CURLOPT_URL. Se puede establecer manualmente esta opción usando la función curl_setopt().Nota:
El protocolo file es desabilitado por cURL si open_basedir está establecido.
Valores devueltos
Devuelve un manipulador de cURL si todo fué bien, FALSE si hay errores.
Ejemplos
Ejemplo #1 Inicia una nueva sesión cURL y captura una página web
<?php
// Crea un nuevo recurso cURL
$ch = curl_init();
// Establece la URL y otras opciones apropiadas
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
// Captura la URL y la envÃa al navegador
curl_exec($ch);
// Cierrar el recurso cURLy libera recursos del sistema
curl_close($ch);
?>
Ver también
- curl_close() - Cierra una sesión cURL
- curl_multi_init() - Devuelve un nuevo multi recurso cURL
schmidt at vielecheats dot de
13-Apr-2012 11:14
jharris at et2brut dot us
03-Dec-2010 02:20
Just to clarify:
Spaces in the URL need to be replaced with a %20.
Spaces in the querystring need to be replaced with a +
james at mettro dot com dot au
12-Oct-2010 11:05
Someone mentioned you may need to replace spaces with +.
This didn't work for me, I had to replace them with %20, eg:
<?php $url = str_replace(' ', '%20', $url); ?>
Brett
06-Jun-2009 01:25
Be careful when using spaces in the URL... make sure to replace them with + signs, otherwise it won't work.
rossixx at gmx dot net
25-Oct-2007 09:48
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 " ;
?>
ezyang at php dot net
23-Oct-2007 07:31
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.
darkstar_ae at hotmail dot com
24-May-2006 08:20
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.
ru dot dy at gmx dot net
02-Sep-2005 03:10
The curl-functions can be used to check the ICQ-webstatus from an icq-number, to get the status as a string rather than as one of those standard images provided from ICQ. This can also be used to place your own Image instead of simple text, to show ones online-status, of course if activated in the options. The idea behind is to get just the text from the apache-site that would lead us to the picture that shows the online status. curl does not do any redirect, as long as we don't set CURLOPT_FOLLOWLOCATION. This is nice because the image can change, as long as the paths and filenames (contained in the site-text) don't. The different states are stored in a short array of unsigned crc-values.
<?php
class ICQ {
var $crc = array('253889085' => 'offline', '1177883536' => 'online', '1182613274' => 'hidden');
//CRCs valid as long as the redirect-page does not change
function getCrc($url) {
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_HEADER, 0);
ob_start();
curl_exec ($ch);
curl_close ($ch);
$cache = ob_get_contents();
ob_end_clean();
//print($cache);
return (string)abs(crc32($cache));
}
function status($number) {
$check = $this->getCrc( 'http://status.icq.com/online.gif?icq=' . $number . '&img=5');
if (in_array($check, array_keys($this->crc))) {
return $this->crc[$check];
}
return false;
}
}
?>
Usage:
<?php
$icq = new ICQ();
print($icq->status('123456789'));
?>
Outputs 'online', 'offline' or 'hidden'.
José Enrique Serrano Expósito
04-Feb-2005 02:35
<?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>';
}
?>
