程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php使用curl模擬登錄後采集頁面的例子

php使用curl模擬登錄後采集頁面的例子

編輯:PHP綜合

今天接到的功課是從一個網站獲取商品庫存,但是這個網站需要登錄,我用fsockopen傳遞了整個header頭都沒用,只能求助於curl了。
附帶說一下curl模塊的開啟辦法:
(1)從php目錄下拷貝:libeay32.dll,ssleay32.dll 到windows目錄下。
(2)打開php.ini,查找“extension_dir = xxxxx”,確認後面的文件目錄內有php_curl.dll文件。
(3)同樣是php.ini,查找“extension=php_curl.dll”,確認它沒有被注釋(前面沒有';')。
(4)重啟apache,如果使用curl_init();語句出現錯誤提示,則說明沒有安裝成功。

復制代碼 代碼如下:
$curl = curl_init();
$cookie_jar = tempnam('./tmp','cookie');
curl_setopt($curl, CURLOPT_URL,'http://b2b.bookuu.com/b2b_club/checkUser.jsp');//這裡寫上處理登錄的界面
curl_setopt($curl, CURLOPT_POST, 1);
$request = 'user=xxx&password=xxx';
curl_setopt($curl, CURLOPT_POSTFIELDS, $request);//傳 遞數據
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_jar);// 把返回來的cookie信息保存在$cookie_jar文件中
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//設定返回 的數據是否自動顯示
curl_setopt($curl, CURLOPT_HEADER, false);//設定是否顯示頭信 息
curl_setopt($curl, CURLOPT_NOBODY, false);//設定是否輸出頁面 內容
curl_exec($curl);//返回結果
curl_close($curl); //關閉

$curl2 = curl_init();
curl_setopt($curl2, CURLOPT_URL, 'http://b2b.bookuu.com/search/b2b_zxsm_new.jsp');//登陸後要從哪個頁面獲取信息
curl_setopt($curl2, CURLOPT_HEADER, false);
curl_setopt($curl2, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl2, CURLOPT_COOKIEFILE, $cookie_jar);
$content = curl_exec($curl2);

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved