php使用curl模擬登錄后采集頁面的例子
今天接到的功課是從一個網(wǎng)站獲取商品庫存,但是這個網(wǎng)站需要登錄,我用fsockopen傳遞了整個header頭都沒用,只能求助于curl了。
附帶說一下curl模塊的開啟辦法:
(1)從php目錄下拷貝:libeay32.dll,ssleay32.dll 到windows目錄下。
(2)打開php.ini,查找“extension_dir = xxxxx”,確認后面的文件目錄內(nèi)有php_curl.dll文件。
(3)同樣是php.ini,查找“extension=php_curl.dll”,確認它沒有被注釋(前面沒有';')。
(4)重啟apache,如果使用curl_init();語句出現(xiàn)錯誤提示,則說明沒有安裝成功。
$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);//傳 遞數(shù)據(jù)
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_jar);// 把返回來的cookie信息保存在$cookie_jar文件中
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//設(shè)定返回 的數(shù)據(jù)是否自動顯示
curl_setopt($curl, CURLOPT_HEADER, false);//設(shè)定是否顯示頭信 息
curl_setopt($curl, CURLOPT_NOBODY, false);//設(shè)定是否輸出頁面 內(nèi)容
curl_exec($curl);//返回結(jié)果
curl_close($curl); //關(guān)閉
$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);
相關(guān)文章
php封裝好的人民幣數(shù)值轉(zhuǎn)中文大寫類
這篇文章主要給大家分享了幾個php實現(xiàn)的人民幣數(shù)值轉(zhuǎn)中文大寫的代碼,非常的全面,有需要的小伙伴可以查看下2015-12-12ThinkPHP3.2.3框架郵件發(fā)送功能圖文實例詳解
這篇文章主要介紹了ThinkPHP3.2.3框架郵件發(fā)送功能,結(jié)合圖文與實例形式詳細分析了基于thinkPHP框架進行郵件發(fā)送的相關(guān)原理、配置及操作技巧,需要的朋友可以參考下2019-04-04解決thinkphp5未定義變量會拋出異常,頁面錯誤,請稍后再試的問題
今天小編就為大家分享一篇解決thinkphp5未定義變量會拋出異常,頁面錯誤,請稍后再試的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10