< p >PHP cURL 自己文章< p >cURL可以理解為一個包含庫和命令行工具的網(wǎng)絡(luò)傳輸工具,通過cURL可以發(fā)送Http請求和FTP請求,也可以通過cURL模擬瀏覽器,抓取網(wǎng)頁數(shù)據(jù)。PHP cURL是一個針對cURL的擴展,用于在PHP腳本中使用cURL的功能。在PHP中使用cURL可以實現(xiàn)很多網(wǎng)絡(luò)操作,比如獲取網(wǎng)頁內(nèi)容、提交表單、上傳文件、下載文件等等。< p >為了更好的理解PHP cURL,下面會用一些例子進行說明。< p >1、發(fā)送GET請求
//創(chuàng)建cURL資源對象 $ch = curl_init(); //設(shè)置請求的URL curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); //獲取請求結(jié)果而不輸出 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //執(zhí)行請求 $output = curl_exec($ch); //關(guān)閉cURL資源對象 curl_close($ch); echo $output;< p >上述代碼通過curl_init()函數(shù)創(chuàng)建了一個cURL資源對象$ch,然后設(shè)置了請求的URL為http://www.example.com/,設(shè)置了CURLOPT_RETURNTRANSFER選項為1,這可以讓curl_exec()函數(shù)在成功時返回執(zhí)行的結(jié)果,而不是直接輸出結(jié)果。最后通過curl_close()函數(shù)關(guān)閉cURL資源對象,輸出結(jié)果。< p >2、發(fā)送POST請求
//創(chuàng)建cURL資源對象 $ch = curl_init(); //設(shè)置請求的URL curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); //發(fā)送POST請求 curl_setopt($ch, CURLOPT_POST, 1); //POST數(shù)據(jù) $post_data = array( 'username' =>'testuser', 'password' =>'testpass' ); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); //獲取請求結(jié)果而不輸出 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //執(zhí)行請求 $output = curl_exec($ch); //關(guān)閉cURL資源對象 curl_close($ch); echo $output;< p >上述代碼通過curl_setopt()函數(shù)設(shè)置了POST請求的參數(shù),并通過curl_setopt()函數(shù)設(shè)置了POST請求發(fā)送的數(shù)據(jù)為$post_data。最后通過curl_exec()函數(shù)執(zhí)行請求,輸出結(jié)果。< p >3、抓取網(wǎng)頁數(shù)據(jù)
//創(chuàng)建cURL資源對象 $ch = curl_init(); //設(shè)置請求的URL curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); //獲取請求結(jié)果而不輸出 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //設(shè)置瀏覽器模擬 curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0'); //執(zhí)行請求 $output = curl_exec($ch); //關(guān)閉cURL資源對象 curl_close($ch); //使用正則表達式提取網(wǎng)頁標題 preg_match("/< p >上述代碼通過curl_setopt()函數(shù)設(shè)置了瀏覽器模擬,以便能夠模擬瀏覽器訪問的結(jié)果。最后通過正則表達式提取網(wǎng)頁標題。< p >總結(jié):PHP cURL是一個非常強大的網(wǎng)絡(luò)傳輸工具,可以實現(xiàn)很多任務(wù)。在使用時要注意設(shè)置正確的URL和參數(shù),理解好每個選項的含義。希望本篇文章能對大家理解PHP cURL有所幫助。(.*)<\/title>/siU", $output, $matches); echo $matches[1];
上一篇css 超出高度溢出隱藏
下一篇php curl類庫