curl 是一個(gè)利用url語法規(guī)定來傳輸文件和數(shù)據(jù)的工具,支持很多協(xié)議,如http、ftp、telnet等。最爽的是,php也支持 curl 庫。本文將介紹 curl 的一些高級(jí)特性,以及在php中如何運(yùn)用它。
為什么要用 cURL?
是的,我們可以通過其他辦法獲取網(wǎng)頁內(nèi)容。大多數(shù)時(shí)候,我因?yàn)橄胪祽?,都直接用簡單的PHP函數(shù):
$content = file_get_contents("http://www.nettuts.com");
// or
$lines = file("http://www.nettuts.com");
// or
readfile(http://www.nettuts.com);
不過,這種做法缺乏靈活性和有效的錯(cuò)誤處理。而且,你也不能用它完成一些高難度任務(wù)——比如處理coockies、驗(yàn)證、表單提交、文件上傳等等。
立即學(xué)習(xí)“PHP免費(fèi)學(xué)習(xí)筆記(深入)”;
引用:
cURL 是一種功能強(qiáng)大的庫,支持很多不同的協(xié)議、選項(xiàng),能提供 URL 請求相關(guān)的各種細(xì)節(jié)信息。
基本結(jié)構(gòu)
在學(xué)習(xí)更為復(fù)雜的功能之前,先來看一下在PHP中建立cURL請求的基本步驟:
// 1. 初始化
$ch = curl_init();
// 2. 設(shè)置選項(xiàng),包括URL
curl_setopt($ch, CURLOPT_URL, "http://www.nettuts.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
// 3. 執(zhí)行并獲取HTML文檔內(nèi)容
$output = curl_exec($ch);
// 4. 釋放curl句柄
curl_close($ch);
第二步(也就是 curl_setopt() )最為重要,一切玄妙均在此。有一長串cURL參數(shù)可供設(shè)置,它們能指定URL請求的各個(gè)細(xì)節(jié)。要一次性全部看完并理解可能比較困難,所以今天我們只試一下那些更常用也更有用的選項(xiàng)。
檢查錯(cuò)誤
你可以加一段檢查錯(cuò)誤的語句(雖然這并不是必需的):
// ...
$output = curl_exec($ch);
if ($output === FALSE) {
??? echo "cURL Error: " . curl_error($ch);
}
// ...
請注意,比較的時(shí)候我們用的是“=== FALSE”,而非“== FALSE”。因?yàn)槲覀兊脜^(qū)分 空輸出 和 布爾值FALSE,后者才是真正的錯(cuò)誤。
PHP怎么學(xué)習(xí)?PHP怎么入門?PHP在哪學(xué)?PHP怎么學(xué)才快?不用擔(dān)心,這里為大家提供了PHP速學(xué)教程(入門到精通),有需要的小伙伴保存下載就能學(xué)習(xí)啦!
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://m.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)