用途說明
curl命令是一個功能強大的網(wǎng)絡工具,它能夠通過http、ftp等方式下載文件,也能夠上傳文件。其實curl遠不止前面所說的那些功能,大家可以通過man curl閱讀手冊頁獲取更多的信息。類似的工具還有wget。
curl命令使用了libcurl庫來實現(xiàn),libcurl庫常用在C程序中用來處理HTTP請求,curlpp是libcurl的一個C++封裝,這幾個東西可以用在抓取網(wǎng)頁、網(wǎng)絡監(jiān)控等方面的開發(fā),而curl命令可以幫助來解決開發(fā)過程中遇到的問題。
常用參數(shù)
curl命令參數(shù)很多,這里只列出我曾經(jīng)用過、特別是在shell腳本中用到過的那些。
curl_close — 關閉一個curl會話 curl_copy_handle — 拷貝一個curl連接資源的所有內容和參數(shù) curl_errno — 返回一個包含當前會話錯誤信息的數(shù)字編號 curl_error — 返回一個包含當前會話錯誤信息的字符串 curl_exec — 執(zhí)行一個curl會話 curl_getinfo — 獲取一個curl連接資源句柄的信息 curl_init — 初始化一個curl會話 curl_multi_add_handle — 向curl批處理會話中添加單獨的curl句柄資源 curl_multi_close — 關閉一個批處理句柄資源 curl_multi_exec — 解析一個curl批處理句柄 curl_multi_getcontent — 返回獲取的輸出的文本流 curl_multi_info_read — 獲取當前解析的curl的相關傳輸信息 curl_multi_init — 初始化一個curl批處理句柄資源 curl_multi_remove_handle — 移除curl批處理句柄資源中的某個句柄資源 curl_multi_select — Get all the sockets associated with the cURL extension, which can then be "selected" curl_setopt_array — 以數(shù)組的形式為一個curl設置會話參數(shù) curl_setopt — 為一個curl設置會話參數(shù) curl_version — 獲取curl相關的版本信息 curl_init()函數(shù)的作用初始化一個curl會話,curl_init()函數(shù)唯一的一個參數(shù)是可選的,表示一個url地址。 curl_exec()函數(shù)的作用是執(zhí)行一個curl會話,唯一的參數(shù)是curl_init()函數(shù)返回的句柄。 curl_close()函數(shù)的作用是關閉一個curl會話,唯一的參數(shù)是curl_init()函數(shù)返回的句柄。
使用PHP的cURL庫可以簡單和有效地去抓網(wǎng)頁。你只需要運行一個腳本,然后分析一下你所抓取的網(wǎng)頁,然后就可以以程序的方式得到你想要的數(shù)據(jù) 了。無論是你想從從一個鏈接上取部分數(shù)據(jù),或是取一個XML文件并把其導入數(shù)據(jù)庫,那怕就是簡單的獲取網(wǎng)頁內容,cURL 是一個功能強大的PHP庫,下面是一個抓取網(wǎng)頁實例:
(.*?)<\/span>|',$contents,$m);
var_dump($m);
?>
關鍵詞: