導航:首頁 > 編程語言 > 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相關的資料

熱點內容
s7相片怎麼加密 瀏覽:528
單片機串接cd4094 瀏覽:818
cad批量生成pdf 瀏覽:252
iosui編程 瀏覽:135
怎麼看明日之後伺服器的排名 瀏覽:265
padcal編譯系統屬於 瀏覽:629
樂什麼是個APP借錢的 瀏覽:691
網路伺服器如何接線 瀏覽:489
虛擬機文件夾沒東西 瀏覽:902
狗狗用什麼app好 瀏覽:268
java代碼反編譯後出現特殊字元 瀏覽:990
oracle編程300經典 瀏覽:703
女生app取什麼名字好聽 瀏覽:395
msp430單片機串口 瀏覽:37
兒童壓縮面膜怎麼用法 瀏覽:93
新車壓縮機壞了保修嗎 瀏覽:548
艾默生壓縮機說明書 瀏覽:291
超解壓手法 瀏覽:415
如何獲取伺服器上的文件地址 瀏覽:679
文件夾題用另存為嗎 瀏覽:639