curl_init

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

curl_init初始化 cURL 会话

说明

resource curl_init ([ string $url = NULL ] )

初始化新的会话,返回 cURL 句柄,供curl_setopt()curl_exec()curl_close() 函数使用。

参数

url

如果提供了该参数,CURLOPT_URL 选项将会被设置成这个值。你也可以使用curl_setopt()函数手动地设置这个值。

Note:

如果设置了 open_basedirfile 协议会被 cURL 禁用。

返回值

如果成功,返回 cURL 句柄,出错返回 FALSE

范例

Example #1 初始化新的 cURL 会话并获取一个网页

<?php
// 创建一个新cURL资源
$ch curl_init();

// 设置URL和相应的选项
curl_setopt($chCURLOPT_URL"http://www.example.com/");
curl_setopt($chCURLOPT_HEADER0);

// 抓取URL并把它传递给浏览器
curl_exec($ch);

// 关闭cURL资源,并且释放系统资源
curl_close($ch);
?>

参见

User Contributed Notes

ageesen at videro dot com 23-Jun-2015 08:59
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
Tugrul 02-Mar-2015 04:34
<?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...
James P 29-Jul-2013 10:58
Regarding spaces in URLs;
Please read
http://php.net/manual/en/function.urlencode.php
jharris at et2brut dot us 03-Dec-2010 11: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 +
rossixx at gmx dot net 25-Oct-2007 06: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 24-Oct-2007 04: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 25-May-2006 05: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.
04-Feb-2005 11: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>';
    }
?>