php[world] 2015 Schedule Announced

curl_init

(PHP 4 >= 4.0.2, PHP 5)

curl_initInicia 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($chCURLOPT_URL"http://www.example.com/");
curl_setopt($chCURLOPT_HEADER0);

// 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

add a note add a note

User Contributed Notes 9 notes

up
21
jharris at et2brut dot us
4 years ago
Just to clarify:

Spaces in the URL need to be replaced with a %20.

Spaces in the querystring need to be replaced with a +
up
14
James P
1 year ago
Regarding spaces in URLs;
Please read
http://php.net/manual/en/function.urlencode.php
up
0
ageesen at videro dot com
10 days ago
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
up
1
ezyang at php dot net
7 years ago
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.
up
-4
darkstar_ae at hotmail dot com
9 years ago
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.
up
-4
Tugrul
4 months ago
<?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...
up
-4
qrworld.net
7 months ago
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
up
-19
rossixx at gmx dot net
7 years ago
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 " ;
?>
up
-34
10 years ago
<?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>';
    }
?>
To Top