導航:首頁 > 編程語言 > phpcurl取cookies

phpcurl取cookies

發布時間:2024-05-02 10:56:43

php,用CURL post登錄的時候,我需要把登錄後返回的cookie保存到資料庫裡面

可以。你可以先獲取一個cookies值去進行curl操作,或者在登錄成功後獲取其header頭信息。裡面有cookies

Ⅱ 使用PHP的cURL庫進行網頁抓取

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

啟用 cURL 設置

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

﹤?phpphpinfo();?﹥

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

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

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

如果你旦纖是在Linux下面 那麼 你需要重新編譯你的PHP了 編輯時 你需要打開編譯參數——在configure命令上加上 –with curl 參數

一個小示例

如果一切就緒 下面是一個小常式

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

// 設置你需要抓取的URLcurl_setopt($curl CURLOPT_URL //cocre );

// 設置headercurl_setopt($curl CURLOPT_HEADER );

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

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

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

// 顯示獲得的數據var_mp($data);

如何POST數據

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

﹤?php$phoneNumber = ;$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 // example /sendSMS php );curl_setopt($ch CURLOPT_HEADER );curl_setopt($ch CURLOPT_RETURNTRANSFER );curl_setopt($ch CURLOPT_POST );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 // example );curl_setopt($ch CURLOPT_HEADER );curl_setopt($ch CURLOPT_RETURNTRANSFER );curl_setopt($ch CURLOPT_HTTPPROXYTUNNEL );curl_setopt($ch CURLOPT_PROXY fakeproxy : );curl_setopt($ch CURLOPT_PROXYUSERPWD user:password );$data = curl_exec();curl_close($ch);?﹥ 關於SSL和Cookie

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

關於Cookie 你需要了解下面三個參數

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

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

CURLOPT_COOKIEFILE Cookie的文件

HTTP伺服器認證

最後 我們來看一看HTTP伺服器認證的情況

﹤?php $ch = curl_init();curl_setopt($ch CURLOPT_URL // example );curl_setopt($ch CURLOPT_RETURNTRANSFER );curl_setopt($ch CURLOPT_HTTPAUTH CURLAUTH_BASIC);curl_setopt(CURLOPT_USERPWD [username]:[password] )

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

關於其它更多的內容 請參看相關的cURL手冊 lishixin/Article/program/PHP/201311/21491

Ⅲ php如何帶cookies訪問需要登錄的網站

使用curl

CURLOPT_COOKIE 設定HTTP請求中"Cookie: "部分的內容。多個cookie用分號分隔,分號後帶一個空格(例如, "fruit=apple; colour=red")。
CURLOPT_COOKIEFILE 包含cookie數據的文件名,cookie文件的格式可以是Netscape格式,或者只是純HTTP頭部信息存入文件。
CURLOPT_COOKIEJAR 連接結束後保存cookie信息的文件。

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); // 請求的地址
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiesfile); // 連接結束後保存cookie信息的文件
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiesfile); // 請求時發送的cookie信息文件
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_exec($ch);
curl_close($ch);

閱讀全文

與phpcurl取cookies相關的資料

熱點內容
貴州戴爾伺服器創新服務雲主機 瀏覽:557
如何在小米電視上安裝電視家app 瀏覽:182
蘋果手機如何隱藏單個app軟體 瀏覽:963
多路伺服器有什麼用 瀏覽:859
如何找培訓班app 瀏覽:580
臨時文件夾怎麼轉到其他盤 瀏覽:179
android布局按比例 瀏覽:602
安卓模擬器怎麼能當手機用 瀏覽:885
手機怎樣查看伺服器ip地址沖突 瀏覽:812
程序員有沒有必要找家教 瀏覽:783
什麼編譯器可以帶c11函數 瀏覽:18
如何理解程序員對自己電腦的感情 瀏覽:525
什麼是簡訊app 瀏覽:752
我的世界伺服器啟動器下載地址 瀏覽:790
雲伺服器公ip和內ip 瀏覽:948
手機淘寶app授權在哪裡 瀏覽:472
匯編程序的任務 瀏覽:973
dji編程玩具 瀏覽:21
dcs伺服器異常現象是什麼 瀏覽:201
java中的布局 瀏覽:702