curl_2
PHP中發的CURL函式子庫(Client URL Library Function)
close 關閉一個curl會話
copy_handle 拷貝一個curl連接資源的所有內容和參數
errno 返回一個包含當前會話錯誤信息的數字編號
error 返回一個包含當前會話錯誤信息的字符串
exec 執行一個curl會話
getinfo 獲取一個curl連接資源控制代碼的信息
init 初始化一個url會話
multi_add_handle 向curl批處理會話中添加單獨的curl控制代碼資源
multi_close 關閉一個批處理控制代碼資源
multi_exec 解析一個curl批處理控制代碼
multi_getcontent 返回獲取的輸出的文本流
multi_init 初始化一個curl批處理控制代碼資源
multi_remove_handle 移除curl批處理控制代碼資源中的某個控制代碼資源
multi_select Get all the sockets associated with the cURL extension,which can then be "selected"
multi_info_read 獲取當前解析的curl的相關傳輸信息
setopt 為一個curl設置會話參數
version 獲取curl相關的版本參數
?
curl_init()函數的作用是初始化一個curl會話,curl_init()函式唯一的一個參數是可選的,表示一個地址.curl_exec()函數的作用是執行一個curl會話,唯一的參數是curl_init()函式返回的控制代碼.
curl_close()函式的作用是關閉一個curl會話,唯一的參數是curl_init()函式返回的控制代碼/
<?php
$ch=curl_init('http://www.baidu.com');
curl_exec($ch);
curl_close($ch);
?>
curl_version()函式的作用是獲取curl相關的版本訊息,curl_version()函數式子有一個參數
curl_getinfo()函數的作用是獲取一個curl連接資源控制代碼的訊息,curl_getinfo()函數式有兩個參數,第一參數是curl的資源控制代碼,第二個參數是下面一些常量:
<?php
$ch=curl_init('http://www.baidu.com/');
print_r(curl_getinfo($ch));
?>
得到如下的信息:
Array
(
[url] => http://www.baidu.com/
[http_code] => 0
[header_size] => 0
[request_size] => 0
[filetime] => 0
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0
[namelookup_time] => 0
[connect_time] => 0
[pretransfer_time] => 0
[size_upload] => 0
[size_download] => 0
[speed_download] => 0
[speed_upload] => 0
[download_content_length] => 0
[upload_content_length] => 0
[starttransfer_time] => 0
[redirect_time] => 0
)
+--------------------------------------------------------------------------------------+
可選的常量包括:
CURLINFO_EFFECTIVE_URL 最后一個有效的URL地址
CURLINFO_HTTP_CODE 最后一個收到的HTTP代碼
CURLINFO_FILETIME 遠程獲取文檔的時間,如果無法獲取,則返回值為-1
CURLINFO_TOTAL_TIME 最后一次傳輸所消耗的時間
CURLINFO_NAMELOOKUP_TIME 名稱解析所消耗的時間
CURLINFO_CONNECT_TIME 建立連接所消耗的時間
CURLINFO_PRETRANSFER_TIME 從建立到準備傳輸所使用的時間
CURLINFO_STARTTRANSFER_TIME 從建立連接到傳輸開始所使用的時間
CURLINFO_REDIRECT_TIME 從事務傳輸開始前重定向所使用的時間
CURLINFO_SIZE_UPLOAD 上傳數據量的總和
CURLINFO_SIZE_DOWNLOAD 下載數據量的總和
CURLINFO_SPEED_DOWNLOAD 平均下載速度
CURLINFO_SPEED_UPLOAD 平均上傳速度
CURLINFO_HEADER_SIZE header部分的大小
CURLINFO_HEADER_OUT 發送請求的字符串
CURLINFO_REQUEST_SIZE 在HTTP請求中有問題的請求的大小
CURLINFO_SSL_VERIFYRESULT Result of SSL certification verification requested by setting CURLOPT_SSL_VERIFYPEER
CURLINFO_CONTENT_LENGTH_DOWNLOAD 從Content-Length:field中讀取的下載內容長度
CURLINFO_CONTENT_LENGTH_UPLOAD 上傳內容大小的說明
CURLINFO_CONTENT_TYPE 下載內容的[Content-type]值,NULL表示服務器沒有發送有效的[Content-Type:header]
<?php
$ch=curl_init();
$fp=fopen("index.html","w");
curl_setopt($ch,CURLOPT_FILE,$fp);
$options=array(
CURLOPT_URL=>'http://www.baidu.com',
CURLOPT_HEADER=>false
);
curl_setopt_array($ch,$options);
curl_exec($ch);
curl_close($ch);
fclose($fp);
?>
?
+----------------------------------------------------------------------------------------+
<?php
function curl_down($url){
//is CURL installed yet?
if(!function_exists('curl_init')){
die('some curl is not installed');
}
//OK cool -then let's create a new curl resource handle
$ch=curl_init();
//Now set some options (most are options)
//Set URL to download
curl_setopt($ch,CURLOPT_URL,$url);
//Set a referer
curl_setopt($ch,CURLOPT_REFERER,"http://www.baidu.com");
//User agent
curl_setopt($ch,CURLOPT_USERAGENT,"Mozillaxyz/1.0");
//Include header in result?(0= yes,1=no);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
//Timeout in seconds
curl_setopt($ch,URLOPT_TIMEOPT,10);
//Download the given URL,and return output
$output=curl_exec($url);
//close the CURL resource,and free system resources
curl_close($ch);
return $output;
}
print curl_download('http://www.example.org');
轉載于:https://www.cnblogs.com/sgsheg/archive/2012/09/27/2705416.html
總結
- 上一篇: 如何允许非Administrator用户
- 下一篇: Kinect+OpenNI学习笔记之4(