91网首页-91网页版-91网在线观看-91网站免费观看-91网站永久视频-91网站在线播放

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

PHP的cURL庫簡單和有效地抓網頁

admin
2012年4月26日 9:53 本文熱度 4271




文章簡介:使用PHP的cURL庫可以簡單和有效地去抓網頁。你只需要運行一個腳本,然后分析一下你所抓取的網頁,然后就可以以程序的方式得到你想要的數據了。

使用PHP的cURL庫可以簡單和有效地去抓網頁。你只需要運行一個腳本,然后分析一下你所抓取的網頁,然后就可以以程序的方式得到你想要的數據了。無論是你想從從一個鏈接上取部分數據,或是取一個XML文件并把其導入數據庫,那怕就是簡單的獲取網頁內容,cURL 是一個功能強大的PHP庫。本文主要講述如果使用這個PHP庫。


啟用 cURL 設置


首先,我們得先要確定我們的PHP是否開啟了這個庫,你可以通過使用php_info()函數來得到這一信息。


<?php
phpinfo();
?>


如果你可以在網頁上看到下面的輸出,那么表示cURL庫已被開啟。


如果你看到的話,那么你需要設置你的PHP并開啟這個庫。如果你是在Windows平臺下,那么非常簡單,你需要改一改你的php.ini文件的設置,找到php_curl.dll,并取消前面的分號注釋就行了。如下所示:


//取消下在的注釋
extension=php_curl.dll


如果你是在Linux下面,那么,你需要重新編譯你的PHP了,編輯時,你需要打開編譯參數——在configure命令上加上“–with-curl” 參數。


一個小示例


如果一切就緒,下面是一個小例程:


<?php
// 初始化一個 cURL 對象
$curl = curl_init();


// 設置你需要抓取的URL
curl_setopt($curl, CURLOPT_URL, 'http://cocre.com');


// 設置header
curl_setopt($curl, CURLOPT_HEADER, 1);


// 設置cURL 參數,要求結果保存到字符串中還是輸出到屏幕上。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);


// 運行cURL,請求網頁
$data = curl_exec($curl);


// 關閉URL請求
curl_close($curl);


// 顯示獲得的數據
var_dump($data);
?>


如何POST數據


上面是抓取網頁的代碼,下面則是向某個網頁POST數據。假設我們有一個處理表單的網址http://www.example.com/sendSMS.php,其可以接受兩個表單域,一個是電話號碼,一個是短信內容。


<?php
$phoneNumber = '13912345678';
$message = 'This message was generated by curl and php';
$curlPost = 'pNUMBER=' . urlencode($phoneNumber) . '&MESSAGE=' . urlencode($message) . '&SUBMIT=Send';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.example.com/sendSMS.php');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
$data = curl_exec();curl_close($ch);
?>


從上面的程序我們可以看到,使用CURLOPT_POST設置HTTP協議的POST方法,而不是GET方法,然后以CURLOPT_POSTFIELDS設置POST的數據。


關于代理服務器


下面是一個如何使用代理服務器的示例。請注意其中高亮的代碼,代碼很簡單,我就不用多說了。


<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.example.com');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
curl_setopt($ch, CURLOPT_PROXY, 'fakeproxy.com:1080');
curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'user:password');
$data = curl_exec();curl_close($ch);
?>


關于SSL和Cookie


關于SSL也就是HTTPS協議,你只需要把CURLOPT_URL連接中的http://變成https://就可以了。當然,還有一個參數叫CURLOPT_SSL_VERIFYHOST可以設置為驗證站點。


關于Cookie,你需要了解下面三個參數:


CURLOPT_COOKIE,在當面的會話中設置一個cookie


CURLOPT_COOKIEJAR,當會話結束的時候保存一個Cookie


CURLOPT_COOKIEFILE,Cookie的文件。


HTTP服務器認證


最后,我們來看一看HTTP服務器認證的情況。


<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.example.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt(CURLOPT_USERPWD, '[username]:[password]')


$data = curl_exec();
curl_close($ch);
?>


關于其它更多的內容,請參看相關的cURL手冊。


該文章在 2012/4/26 9:53:06 編輯過
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 另类老熟女hd | 69午夜成年| 国产女主播一区 | 精品一区二区在线视 | 午夜视频在线免费 | 国产亚洲精品自拍 | 91视频直播| 91官网在线观看 | 区激情校园小说 | 日韩伦理一区二区 | 韩国午夜福利影院 | 精品日韩欧 | 玖玖爱电影韩国午夜 | 国产素人搭讪在线 | 91免费看片 | 区三区夜色 | 丝袜视频 | 成人欧美亚洲精品 | 成人一区专区在 | 国产精品玩偶在线 | 蜜桃视频高清免费 | 97se国产在线 | 欧美亚洲人成网 | 国产香蕉在线观 | 国产熟女乱子伦露 | 国产日韩在线看 | 伦理片97影视网 | 成人永久免费永久在 | 日本高清在线不卡 | 飘雪影院手机免 | 国自产拍在线视频天 | 韩日一区 | 国产精品丝袜高跟鞋 | 91福利精品视频 | 午夜成人A级片 | 天美麻花星空免费 | 日本一二 | 欧美一级a欧美特黄 | 国产精品毛多 | 日韩欧美a级 | 九九99九|